oracle - Oracle 12c - 将字符串中的字符替换为空
问题描述
我试图用空格和撇号替换定义为 VARCHAR2(6) 的列中的任何内容,但是我的方法是用最多 6 个字符的空格替换它们。
示例"ABC-"
和"ABC'"
需要分别转换为"ABC "
和"ABC"
。
我正在使用以下内容:
select UPPER(RPAD(REPLACE(REPLACE(NVL('ABC-',' '),'-',' '),'''',''), 6,' '))
from dual
这是返回"ABC "
但应该返回"ABC "
select UPPER(RPAD(REPLACE(REPLACE(NVL('ABC''',' '),'-',' '),'''',''), 6,' '))
from dual
这正在回归"ABC "
,但应该回归"ABC"
解决方案
使用TRANSLATE 官方文档
TRANSLATE('abc-''','-''',' ')
推荐阅读
- python - 如何获取所有字典值(字符串)的总长度
- c - C中的等待进程
- python - Python Api 请求,会话已过期
- azure-devops - Azure DevOps - 板 - 将工作项与部署链接
- css - 我可以从接口创建联合类型吗?
- async-await - 使用异步 ADO.NET 调用填充 DataSet 会引发 InvalidOperationException
- python - 使用 vscode 部署 ml 模型时出现错误 docker image build failed
- docker - Docker 错误:/usr/local/bin/docker-entrypoint:第 7 行:/usr/local/bin/env2yaml:无法执行二进制文件
- scala - 如何在多列上对数据帧进行分区并将输出写入 Apache Spark 中的 xlsx
- android - 如何使用 Android ViewModel 实现 Arrow Kt?