sql >> Databáze >  >> RDS >> Sqlserver

SQL server filtrující interpunkční znaky CJK

Znak Unicode můžete vytvořit pomocí NCHAR() funkce:

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

Můžete to také použít v WHERE klauzuli následovně, včetně jejího použití s ​​REPLACE() funkce, jak se jich zbavit. Stačí zadat binární řazení (končící na _BIN2 ), abyste se ujistili, že nenahrazujete žádný jiný znak, který se překládá do mezery (ačkoli si nejsem jistý, že by výsledný efekt byl jiný, pokud nepoužíváte binární řazení, alespoň v tomto scénáři).

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. Přehrávání video souboru z blobu serveru SQL pomocí obslužného programu ashx pomocí HTML5 Video Tag

  2. Chcete-li převést řetězec na tabulku se schématem

  3. php pdo získá pouze jednu hodnotu z mysql; hodnota, která se rovná proměnné

  4. Aktualizace SQL z tabulky náhodných jmen