SQLite-Replace()设置为匹配整个单词而不是其中的一部分

时间:2019-04-12 13:20:53

标签: sqlite

在一列中,条目为US,条目为USA。我想将所有“美国”替换为“美国”。当我尝试:

replace(table.column, 'US', 'USA')

它将所有US个条目替换为USA,并将所有USA个条目替换为USAA

我进行了一些搜索,找到了一些 SQL 的解决方案,它们也可以在 SQLite 上使用,但是他们建议使用WHERE子句。

有什么方法可以简单地告诉替换仅适用于整个单词吗?

在此先感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

使用条件:

..........
replace(table.column, 'US', 'USA')
...............................
where table.column not like '%USA%'

或:

replace(replace(table.column, 'US', 'USA'), 'USAA', 'USA')

如果发生错误的替换,恢复到“美国”。

答案 1 :(得分:0)

通常可以通过在搜索词以及替换词周围添加空格来防止这种情况的发生:

replace(' ' + table.column + ' ', ' US ', 'USA').

类似的东西