3

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

ReferenceNo  PlaceName
-----------  ----------------------------------
1860         ALDGATE STN
1861         ALEXANDRA PALACE STN
1862         ALL SAINTS STN
1863         ALPERTON STN

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

ReferenceNo  PlaceName
-----------  ----------------------------------
1860         ALD GATE STN
1861         ALE XANDRA PALACE STN
1862         ALL SAINTS STN
1863         ALP ERTON STN

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

4

2 回答 2

6

无论您使用什么查询,看起来您希望它在已经有一个空格时不添加另一个空格。因此WHERE下面的条款:

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

在 SQL Fiddle 上查看现场演示

Stuff 函数同时从字符串中添加和删除字符。在这种情况下,在PlaceName列中,我们想要添加从 character 开始的字符4,我们想要删除0字符,并且我们想要插入一个空格,' '。该WHERE子句将 限制UPDATE为仅第四个字符还不是空格的行。

于 2013-06-05T17:10:13.347 回答
1

使用STUFF()

update wellknown
set placename = stuff(placename, 4, 0, ' ')
于 2013-06-05T17:03:33.433 回答