在我的一个oracle表中,每行的一列中都有一个字符串'House Name'。我需要用'门牌号'代替它。我可以执行更新查询来查找并替换所有行中的此字符串。或者是否有任何内置函数。
以下来自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');将返回'门牌号码'
只需执行:
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'
编辑:
如果所有行都包含相同的字符串(House Number),则可以省略WHERE
子句