将列中的'the'更改为'The'



我需要将数据库表的特定列中"the"的所有事件更改为"The"。我只需要更改单词"the",而不是所有出现字母"the"的事件(例如,在单词"因此"中(。为了把它放在一些上下文中,我有一堆地址,例如表中的柳树,大房子,史密斯农场。在此示例中,"the"的最后两个事件需要更改为"The"。

我尝试过各种SQL脚本,其中一个我知道有效(我已经在少量数据上尝试过(。此脚本如下所示。但是,当我在完整的测试数据库上运行脚本时,它需要永远运行并减慢整个服务器的速度。

因此,我试图找到一个脚本来提取任何以小写形式显示"the"的地址,然后我可以使用我的工作SQL来更改这些记录。下面显示了编写此类脚本的尝试,但它似乎对我不起作用。

任何帮助将不胜感激,谢谢!

工作代码(需要永远的代码(是:

SET ADDRESSLINE1 = replace(ADDRESSLINE1, ' the ', ' The ')

我尝试过这段代码来提取那些带有"the"的记录,但这根本不会产生任何记录:

SELECT * FROM contact WHERE addressline1 COLLATE 
SQL_Latin1_General_CP1_CI_AS LIKE ' the '

我希望上面显示的第二个脚本会提取任何具有"the"而不是"The"的地址。

我假设有效的代码是:

UPDATE addresses
SET ADDRESSLINE1 = replace(ADDRESSLINE1, ' the ', ' The ');

如果是这样,我建议添加一个WHERE子句来加快查询速度:

UPDATE addresses
SET ADDRESSLINE1 = replace(ADDRESSLINE1, ' the ', ' The ')
WHERE ADDRESSLINE1 LIKE '% the %';

您没有指定数据库,但某些数据库将更新所有行(包括记录更改的值(,即使值没有更改也是如此。

相关内容

最新更新