在資料庫操作中,經常需要對某個欄位的大量數據進行批量替換。SQL 提供了 REPLACE() 函數,配合 UPDATE 語句,可以高效地完成這項任務。
標準語法結構如下:
UPDATE 表名 SET 欄位名 = REPLACE(CAST(欄位名 AS VARCHAR(長度)), '舊內容', '新內容');
假設我們需要將 t_newsinfo 表中 content 欄位裡的所有舊域名 https://admin.thinkall.net.cn/ 替換為新域名 https://admin.xkpx.com/,執行以下語句:
UPDATE t_newsinfo SET [content] = REPLACE(CAST([content] AS VARCHAR(MAX)), 'https://admin.thinkall.net.cn/', 'https://admin.xkpx.com/');
VARCHAR(MAX) 或指定長度,確保 REPLACE 能正確處理長文本或特定數據類型(如 TEXT、NTEXT)。REPLACE 會替換所有出現的舊字符串,請確認「舊內容」的唯一性,避免誤替換。BEGIN TRAN + ROLLBACK),確認影響行數無誤後再提交。掌握這項技巧,能讓你在數據清洗與維護時事半功倍。