【发布时间】:2013-09-06 07:21:42
【问题描述】:
在我的一个 oracle 表中,每一行的一列中都有一个字符串“House Name”。我需要用“门牌号”替换它。我可以执行更新查询以在所有行中查找和替换此字符串吗?或者是否有任何内置函数。
【问题讨论】:
-
yu 可以通过更新查询来完成
标签: sql oracle str-replace
在我的一个 oracle 表中,每一行的一列中都有一个字符串“House Name”。我需要用“门牌号”替换它。我可以执行更新查询以在所有行中查找和替换此字符串吗?或者是否有任何内置函数。
【问题讨论】:
标签: sql oracle str-replace
Tech on the Net 的以下内容可能会有所帮助:
REPLACE('用户房屋名称为ABC', '房屋名称', '房屋编号');
将返回“用户门牌号为 ABC”
替换('123tech123', '123');将返回“技术”
替换('222tech', '2', '3');将返回“333tech”
替换('0000123', '0');将返回“123”
REPLACE('房屋名称', '房屋名称', '房屋编号');会回来 '门牌号'
【讨论】:
只需执行:
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 子句
【讨论】: