sql - 替换oracle数据库值范围内的字符
问题描述
我在 oracle 中有一个数据库,我在“数字”字段中填写了从“A14602727”到“A14603000”开始的数字,但结果是我不小心输入了符号 A(乌克兰语)而不是 A(英语)。现在我找到命令时:
select number from test where number 'А14602727'
……什么也找不到。是否有可能在命令的帮助下将所有数字从“A14602727”(乌克兰语)替换为“A14602727”(英语)?我将不胜感激您的帮助!)
解决方案
你可以使用regexp_replace()
:
update test set number = regexp_replace(number, '^Ä', 'A');
Regexp'^Ä'
表示'Ä'
字符串开头的字符。我曾经用'Ä'
乌克兰语表示 A:将其替换为您要替换的正确字符。
这也可以使用 substr 等来完成,可能更有效:
update test set number = 'A' || substr(number, 2) where number like 'Ä%';
推荐阅读
- django - 如果我使用 django admin 在 django 中添加 chield 模型,如何插入父模型
- nginx - Nginx 代理到入口 nginx 控制器
- sql - 从动态查询中打印 json 结构
- r - R:如何“提取” Dunnetts 检验的 p 值(方差分析后的事后)
- javascript - React.createRef 打字稿中的当前类型
- ios - 如何在创建另一个请求之前等待多个嵌套请求?
- c++ - 字符串流分隔符
- c++ - 在标头 C++ 中使用前向声明的模板类
- docusignapi - DocuSign 中级 API 计划是否允许我使用 API 获取 PDF 和表单字段?
- sql - 如何找到最常重复的列?