我有一个nchar字符串字段,如下所示:
736TC I-3密封系统
我需要在第一个空格中插入一个'/',剩下的是其他空格。我怎样才能做到这一点。看起来应该很容易,但我对SQL很新。还有297条记录需要更改。
答案 0 :(得分: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
如果找不到空格,这会在字符串末尾添加/
,因此您可能希望使用UPDATE
子句限制WHERE
:
WHERE RTRIM(n) LIKE N'% %';
(或者,对于明显必须在长度上波动的字符串,请停止使用NCHAR
。)