sql - 如何使用Oracle替换列中大文本上的特定单词
问题描述
我正在寻找替换特定列中的值。例如以下列值
desc
----------
Test1 words = 30 have so much words = 20 over 60 words +
Test2 words = 30 have so much words = 20 over 60 words +
Test3 words = 30 have so much words = 20 over 60 words +
Test4 words = 30 have so much words = 20 over 60 words +
应该是(用 Alpha = 20 替换 ords = 20)
结果:
desc
----------
Test1 words = 30 have so much Alpha = 20 over 60 words +
Test2 words = 30 have so much Alpha = 20 over 60 words +
Test3 words = 30 have so much Alpha = 20 over 60 words +
Test4 words = 30 have so much Alpha = 20 over 60 words +
我尝试了以下方法:
更新表集 desc = REPLACE('words = 20', 'words', 'Alpha') where ;
这导致:
Alpha = 20 而不是整行。但是,我怎样才能保留其余的文本只是更改“words = 20”但仍保留其余的测试?
解决方案
您需要replace
在原始字符串上执行,而不是在 ''words = 20' 上执行:
UPDATE mytable
SET desc = REPLACE(desc, 'words', 'Alpha')
旁注:
我猜这些不是您表中的真实名称,而是desc
SQL 中的保留字。如果它确实是列名,则需要用双引号(即,"desc"
)对其进行转义。
推荐阅读
- c++ - winsock server send and receive simultaniously
- ios - 有没有办法在 MacBook M 上调试 iOS 应用或使用 TestFlight?
- c# - 对象初始化测试数据的数据库存储?
- java - json 解析到 pojo 的变量是一个对象或两个对象使用杰克逊
- snowflake-cloud-data-platform - Informatica-在获取表中加载的数据的详细信息时出现雪花 JDBC 错误
- javascript - “无法解构'this.props.reservation'的属性'reservations',因为它是未定义的”并过滤它ReactJs
- java - 方法中的局部变量未更新
- python - 使用 pandas.Series.dtype 作为字典键?
- javascript - 在将脚本作为子进程运行之前的存根函数
- powerbi - 由 2 列聚合的 2 行之间的 DATEDIFF DAX