在我的一个oracle表中,每行的一列中都有一个字符串'House Name'。我需要用'门牌号'代替它。我是否可以执行更新查询以在所有行中查找和替换此字符串。或者是否有任何内置函数。
答案 0 :(得分:5)
以下Tech on the Net可能有所帮助:
REPLACE('用户住宅名称为ABC','住宅名称','门牌号');
将返回'用户门牌号码为ABC'
REPLACE('123tech123','123');会回归'科技'
REPLACE('222tech','2','3');将返回'333tech'
REPLACE('0000123','0');将返回'123'
REPLACE('House Name','House Name','House Number');会回来的 '门牌号'
答案 1 :(得分: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
子句