在nchar字段中的空格的第一个出现处插入一个字符

时间:2013-10-14 16:52:38

标签: string sql-server-2008

我有一个nchar字符串字段,如下所示:

736TC I-3密封系统

我需要在第一个空格中插入一个'/',剩下的是其他空格。我怎样才能做到这一点。看起来应该很容易,但我对SQL很新。还有297条记录需要更改。

1 个答案:

答案 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。)