ORACLE 正则解决初使化数据格式不一致
程序员文章站
2024-02-10 14:09:04
如: 2000-1-1==> 2000-01-01、2000-01-1==>2000-01-01、2000-1-01==>2000-01-01 以前会写一...
如: 2000-1-1==> 2000-01-01、2000-01-1==>2000-01-01、2000-1-01==>2000-01-01
以前会写一个function/procedure之类的脚本,大量的if else。。。
今次无意中发现oracle10g已经支持正则功能,上述问题也就迎刃而解了。。
update lz__eq_rhgl lzrh set ls__sp_ghtime = substr(lz__sp_ghtime, 1, 5) || '0' || substr(lz__sp_ghtime, 6, 2) || '0' || substr(8, 1) where retext_line(lz__sp_ghtime, '^\d{4}-\d{1}-\d{1}$')
以前会写一个function/procedure之类的脚本,大量的if else。。。
今次无意中发现oracle10g已经支持正则功能,上述问题也就迎刃而解了。。
复制代码 代码如下:
update lz__eq_rhgl lzrh set ls__sp_ghtime = substr(lz__sp_ghtime, 1, 5) || '0' || substr(lz__sp_ghtime, 6, 2) || '0' || substr(8, 1) where retext_line(lz__sp_ghtime, '^\d{4}-\d{1}-\d{1}$')