我有一个名为WellKnown的表,其记录如下: -
ReferenceNo PlaceName
----------- ----------------------------------
1860 ALDGATE STN
1861 ALEXANDRA PALACE STN
1862 ALL SAINTS STN
1863 ALPERTON STN
基本上我想更新WellKnown表和SET PlaceName,使其在第3个字符后面有一个空格。结果将是: -
ReferenceNo PlaceName
----------- ----------------------------------
1860 ALD GATE STN
1861 ALE XANDRA PALACE STN
1862 ALL SAINTS STN
1863 ALP ERTON STN
知道如何实现这个目标吗?
答案 0 :(得分:6)
无论您使用什么查询,看起来您希望它不会添加另一个空格。因此下面的WHERE
条款:
UPDATE dbo.WellKnown
SET PlaceName = Stuff(PlaceName, 4, 0, ' ')
WHERE Substring(PlaceName, 4, 1) <> ' '
;
Stuff function同时在字符串中添加和删除字符。在这种情况下,在PlaceName
列中,我们要添加从字符4
开始的字符,我们要删除0
个字符,并且我们要插入单个空格{{1 }}。 ' '
子句将WHERE
仅限制为第四个字符不是空格的行。
答案 1 :(得分:1)
使用STUFF()
update wellknown
set placename = stuff(placename, 4, 0, ' ')