sql >> データベース >  >> RDS >> Sqlserver

CJK 句読点文字をフィルタリングする SQL サーバー

    NCHAR() を使用して Unicode 文字を作成できます 関数:

    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. すべてのテーブル/列名を休止状態のバッククォートにします

    2. SQLAlchemyはローカルホスト上のPostgresqlに接続できません

    3. 複数列の外部キー制約

    4. JSON_REPLACE()–MySQLのJSONドキュメントの値を置き換える