sql - 在地址字段中的房屋编号前插入逗号
问题描述
我有一张表,其中有很多地址字段,街道名称和门牌号之间没有逗号。就像是:
"VIA MILANO 123"
"VIA MILANO A123"
"VIA 11 MILANO AA123"
我需要的是一个 SQL,它在最后一个包含数字的组之前插入逗号......比如:
"VIA MILANO, 123"
"VIA MILANO, A123"
"VIA 11 MILANO, AA123"
我在网上找到了一些东西,但很多人认为在 IBM DB 上不起作用”。
有人可以帮我吗?我在文件中有超过 100000 条记录要解决。
提前感谢丹尼斯
解决方案
Db2 for i 7.2 支持 REGEXP_REPLACE 函数
https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_72/db2/rbafzscaregexp_replace.htm
尝试这个
SELECT c, REGEXP_REPLACE(c,'(\s+\S*\d+\s*$)',',\1')
FROM TABLE(
VALUES
('VIA MILANO 123 ')
,('VIA MILANO A123 ')
,('VIA 11 MILANO AA123')
) AS t(c)
返回
C 2
------------------- --------------------
VIA MILANO 123 VIA MILANO, 123
VIA MILANO A123 VIA MILANO, A123
VIA 11 MILANO AA123 VIA 11 MILANO, AA123
正则表达式提供了一种强大而灵活的字符串操作方式,值得学习。
推荐阅读
- swift - Swift 4 在视图之间传递数据
- java - 在循环期间刷新 JLayeredPane()
- ruby-on-rails - initialize_with factory_girl 的参数数量错误
- javascript - 跟踪打开的标签及其内容
- algorithm - 从未排序的数组中找到最小的正整数,硬版
- css - 有没有办法在没有任何其他元素的情况下为 div 提供类似“矩形”或“菱形”的渐变效果?
- javascript - 用 bootstrap-vue 运行 jest
- jquery - 为什么在 MVC 中提交表单后弹出 Image path not Image in Modal?
- python - Extending django-admin-tools admin template doesn't render header
- javascript - 文本输入更改时禁用选择框