sql >> Databasteknik >  >> RDS >> Sqlserver

SQL-server filtrerar CJK skiljetecken

Du kan skapa ett Unicode-tecken med NCHAR() funktion:

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

Du kan också använda det i en WHERE sats enligt följande, inklusive att även använda den med REPLACE() funktion för att bli av med dem. Du behöver bara ange en binär sammanställning (en som slutar på _BIN2 ) för att säkerställa att du inte ersätter något annat tecken som översätts till ett mellanslag (även om jag inte är säker på att nettoeffekten av det skulle vara annorlunda när du inte använder en binär sammanställning, åtminstone i det här scenariot).

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. Mysql Complex Where-klausul

  2. Förstå skillnaden mellan int literal vs int parameter i PL/pgSQL funktion

  3. Omdirigera två olika användare till separata sidor baserat på deras inloggningsnamn

  4. MySQL Dump okänt alternativ '-no-beep'