0
我有一個NCHAR字符串場,看起來像這樣:插入一個空間的第一occuence中字符的nchar場
736TC I-3密封系統
我需要插入一個「/」在第一個空白處留下其他空白。我怎樣才能做到這一點。看起來應該很容易,但我在SQL方面相當新穎。還有297條記錄需要更改。
我有一個NCHAR字符串場,看起來像這樣:插入一個空間的第一occuence中字符的nchar場
736TC I-3密封系統
我需要插入一個「/」在第一個空白處留下其他空白。我怎樣才能做到這一點。看起來應該很容易,但我在SQL方面相當新穎。還有297條記錄需要更改。
您可以使用STUFF
在空間的第一個實例中注入/
,您可以使用CHARINDEX
找到該實例。
DECLARE @x TABLE(n NCHAR(255));
INSERT @x VALUES(N'736TC I-3 Sealed System'),(N'34T I-4 Non-Sealed Whatever');
UPDATE @x SET n = STUFF(n, CHARINDEX(N' ',n), 1, N'/');
SELECT n FROM @x;
結果:
736TC/I-3 Sealed System
34T/I-4 Non-Sealed Whatever
這將在字符串末尾添加/
如果沒有空間被發現,所以你可能需要使用WHERE
子句來限制UPDATE
:
WHERE RTRIM(n) LIKE N'% %';
(或停止使用NCHAR
爲明確必須在長度波動的字符串。)
工作真棒,謝謝。我會接受你的建議,但在這個特殊情況下,它不適用。這是一個將填充活動表的導入表。謝謝。 –
爲什麼這個NCHAR而不是NVARCHAR? –