SQL Server 2008 - 更新字段以在第3个字符后添加空格

nsi*_*lva 3 sql-server-2008

我有一个名为WellKnown的表,其记录如下: -

ReferenceNo  PlaceName
-----------  ----------------------------------
1860         ALDGATE STN
1861         ALEXANDRA PALACE STN
1862         ALL SAINTS STN
1863         ALPERTON STN
Run Code Online (Sandbox Code Playgroud)

基本上我想更新WellKnown表和SET PlaceName所以它在第3个字符后面有一个空格.结果将是: -

ReferenceNo  PlaceName
-----------  ----------------------------------
1860         ALD GATE STN
1861         ALE XANDRA PALACE STN
1862         ALL SAINTS STN
1863         ALP ERTON STN
Run Code Online (Sandbox Code Playgroud)

知道我怎么能做到这一点?

Eri*_*ikE 6

无论您使用什么查询,看起来您希望它不会添加另一个空间.因此,WHERE以下条款:

UPDATE dbo.WellKnown
SET PlaceName = Stuff(PlaceName, 4, 0, ' ')
WHERE Substring(PlaceName, 4, 1) <> ' '
;
Run Code Online (Sandbox Code Playgroud)

在SQL Fiddle上观看现场演示

的东西功能增加和在同一时间的字符串删除字符.在这种情况下,在PlaceName列中,我们要添加从字符开始的字符4,我们要删除0字符,并且我们要插入单个空格,' '.该WHERE子句UPDATE将仅限制为第四个字符不是空格的行.