首页 > 解决方案 > 替换oracle数据库值范围内的字符

问题描述

我在 oracle 中有一个数据库,我在“数字”字段中填写了从“A14602727”到“A14603000”开始的数字,但结果是我不小心输入了符号 A(乌克兰语)而不是 A(英语)。现在我找到命令时:

select number from test where number 'А14602727'

……什么也找不到。是否有可能在命令的帮助下将所有数字从“A14602727”(乌克兰语)替换为“A14602727”(英语)?我将不胜感激您的帮助!)

标签: sqloracleoracle11g

解决方案


你可以使用regexp_replace()

update test set number = regexp_replace(number, '^Ä', 'A');

Regexp'^Ä'表示'Ä'字符串开头的字符。我曾经用'Ä'乌克兰语表示 A:将其替换为您要替换的正确字符。

这也可以使用 substr 等来完成,可能更有效:

update test set number = 'A' || substr(number, 2) where number like 'Ä%';

推荐阅读