🌻

SQLServerで文字列置換サンプル

2024/01/04に公開

単純な文字列置換

UPDATE table1
SET col1 = REPLACE(col1, "abc", "xyz")
WHERE col1 like '%abc%'

姓名のマスキング(例えば 田中浩三郎 → 田***郎)

UPDATE table
SET
    name = REPLACE(name, SUBSTRING(name, 2, LEN(name)-2), REPLICATE('*', LEN(name)-2)) 
WHERE
    LEN(name) > 2

改行コードを発見

-- LF
SELECT * FROM table
WHERE name LIKE '%' + CHAR(13) + '%';
-- CR
SELECT * FROM table
WHERE name LIKE '%' + CHAR(13) + CHAR(10) + '%';
-- CRLF
SELECT * FROM table
WHERE name LIKE '%' + NCHAR(13) + NCHAR(10) + '%'; 

改行コードを置換

-- LF
UPDATE table SET
name = REPLACE(name, CHAR(13), ' ');
-- CR
UPDATE table SET
name = REPLACE(name, CHAR(13) + CHAR(10), ' ');
-- CRLF
UPDATE table SET
name = REPLACE(name, NCHAR(13) + NCHAR(10), ' '); 

Discussion