Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL сървър, филтриращ CJK препинателни знаци

Можете да създадете Unicode знак с помощта на NCHAR() функция:

SELECT NCHAR(0x3000); -- http://unicode-table.com/en/3000/

Можете също да го използвате в WHERE клауза, както следва, включително и използването му с REPLACE() функция, за да се отървете от тях. Просто трябва да посочите двоично сортиране (едно, завършващо на _BIN2 ), за да сте сигурни, че не заменяте друг знак, който се превежда в интервал (въпреки че не съм сигурен, че нетният ефект от това би бил различен, когато не използвате двоично сортиране, поне в този сценарий).

SELECT * 
FROM   [Table]
WHERE  [Column] LIKE N'%' + NCHAR(0x3000) + N'%' COLLATE Latin1_General_100_BIN2;

UPDATE tbl
SET    tbl.Column = REPLACE(tbl.[Column] COLLATE Latin1_General_100_BIN2,
                            NCHAR(0x3000),
                            N' ')
FROM   [Table] tbl
WHERE  [Column] LIKE N'%' + NCHAR(0x3000) + N'%' COLLATE Latin1_General_100_BIN2;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 3 начина за връщане на списък със задачи за агент на SQL Server (T-SQL)

  2. Проблем с вмъкване на паралелността - многонишкова среда

  3. Добавяне на колона, ако тя не съществува към всички таблици?

  4. Най-добрият начин за копиране на база данни (SQL Server 2008)

  5. Сравнение на производителността на Sql Server int срещу nvarchar?