Replace
從記錄集中永久刪除字元
我有一些這種格式的數據:
52-681-Functional-EHT 53-682-Functional-EGT 52-683-Functional-EZT 51-684-Functional-EYT 59-685-Functional-E5T
我想用 sql 語句永久刪除內部的“-Functional” ,這樣我的記錄現在看起來像……
52-681-EHT 53-682-EGT 52-683-EZT 51-684-EYT 59-685-E5T
我所有的研究都讓我想到了,
Replace
但這似乎只是在一個select
並且不能完全弄清楚如何將它形成一個適當的update
陳述。同樣,我想刪除字元串FOREVER。創建腳本:
create table part ( id int identity(1,1) PRIMARY KEY, Partname nvarchar(50)) insert into Part (Partname) values ('52-681-Functional-EHT'), ('53-682-Functional-EGT'), ('52-683-Functional-EZT'), ('51-684-Functional-EYT'), ('59-685-Functional-E5T')
這個簡單的更新對您不起作用是有原因的嗎?
update part set partname = replace(partname,'functional-','') select * from part
REPLACE
在 an中使用 aUPDATE
相當簡單。在你的情況下,你會做這樣的事情:UPDATE p SET Partname = REPLACE(Partname,'-Functional','') FROM #part p;
然而,解決同樣的問題總是有不同的方法。您還可以通過使用
SUBSTRING
根據字元位置建構所需的值來處理更新:UPDATE p SET Partname = SUBSTRING(Partname,1,6) + SUBSTRING(Partname,18,4) FROM #part p;