在我的一个 oracle 表中,每一行的一列中都有一个字符串“House Name”。我需要用“门牌号”替换它。我可以执行更新查询以在所有行中查找和替换此字符串吗?或者是否有任何内置函数。
问问题
33303 次
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 回答