4

在我的一个 oracle 表中,每一行的一列中都有一个字符串“House Name”。我需要用“门牌号”替换它。我可以执行更新查询以在所有行中查找和替换此字符串吗?或者是否有任何内置函数。

4

2 回答 2

6

来自Tech on the Net的以下内容可能会有所帮助:

REPLACE('用户房屋名称为 ABC', '房屋名称', '房屋编号');

将返回“用户门牌号为 ABC”

替换('123tech123','123');将返回“技术”

替换('222tech', '2', '3'); 将返回“333tech”

替换('0000123', '0'); 将返回“123”

REPLACE('房屋名称', '房屋名称', '房屋编号'); 将返回“门牌号”

于 2013-09-06T07:24:20.740 回答
4

只需执行:

UPDATE <TABLE-NAME> SET <COLUMN-NAME> = 'House Number' WHERE <COLUMN_MAME> = 'House Name'

这当然只有在列仅包含此字符串时才有效。否则,您应该使用 Fayeq 在上面的更新语句中回答的替换功能

UPDATE <TABLE-NAME> SET <COLUMN-NAME> = REPLACE('House Name', 'Name', 'Number') WHERE <COLUMN_MAME> = 'House Name'

编辑

如果所有行都包含相同的字符串(门牌号),则可以省略该WHERE子句

于 2013-09-06T07:25:39.273 回答