将列中的 'the' 更改为 'The'
Changing 'the' to 'The' in a column
我需要在数据库 table 的特定列中将 'the' 的所有出现次数更改为 'The'。我只需要更改单词 'the' 而不是所有出现字母 'the' 的地方(例如在单词 'therefore' 中)。为了说明这一点,我有一堆地址,例如table 中的柳树、大房子、史密斯农场。在此示例中,'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 %';
您没有指定数据库,但有些数据库会更新 所有 行 -- 包括记录更改的值 -- 即使值未更改。
我需要在数据库 table 的特定列中将 'the' 的所有出现次数更改为 'The'。我只需要更改单词 'the' 而不是所有出现字母 'the' 的地方(例如在单词 'therefore' 中)。为了说明这一点,我有一堆地址,例如table 中的柳树、大房子、史密斯农场。在此示例中,'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 %';
您没有指定数据库,但有些数据库会更新 所有 行 -- 包括记录更改的值 -- 即使值未更改。