Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Serwer SQL filtrujący znaki interpunkcyjne CJK

Możesz utworzyć znak Unicode za pomocą NCHAR() funkcja:

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

Możesz również użyć tego w WHERE klauzulę w następujący sposób, w tym również używanie jej z REPLACE() funkcja, aby się ich pozbyć. Musisz tylko określić sortowanie binarne (jedno z końcówką _BIN2 ), aby upewnić się, że nie zastępujesz żadnego innego znaku, który przekłada się na spację (chociaż nie jestem pewien, czy efekt netto tego byłby inny, gdy nie używasz sortowania binarnego, przynajmniej w tym scenariuszu).

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. SQL Server Management Studio — Dodawanie/przenoszenie kolumn wymaga upuszczenia i ponownego utworzenia?

  2. Jak wyświetlić dwa wiersze danych w jednym wierszu obok siebie w Projektancie raportów?

  3. Rozwiązywanie problemów z długimi zapytaniami w MS SQL Server

  4. Funkcja TRANSLATE w SQL SERVER

  5. Instrukcja SQL select w klauzuli where