2013-10-14 20 views
0

我有一個NCHAR字符串場,看起來像這樣:插入一個空間的第一occuence中字符的nchar場

736TC I-3密封系統

我需要插入一個「/」在第一個空白處留下其他空白。我怎樣才能做到這一點。看起來應該很容易,但我在SQL方面相當新穎。還有297條記錄需要更改。

+0

爲什麼這個NCHAR而不是NVARCHAR? –

回答

0

您可以使用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爲明確必須在長度波動的字符串。)

+0

工作真棒,謝謝。我會接受你的建議,但在這個特殊情況下,它不適用。這是一個將填充活動表的導入表。謝謝。 –

相關問題