postgres日期格式转换


今天遇到一个日期格式比较奇葩 13-9月 -17 12.00.00.000000000 上午 数据库存在是这种格式,

查资料发现pgsql日期转换函数不支持这种格式,

转换思路:

按长度截取日和年

月份不好截取存在带有中文字,

月份截取先用split_part()第二个为月份再做替换,

replace(replace(split_part(lxrq,'-',2),'月 ',''),'月','')

具体月份长度有1或10这种长度,用case when判断下长度

具体如下:

date('20'||substr(lxrq,8,2)||case when replace(replace(split_part(lxrq,'-',2),'月 ',''),'月','')::NUMERIC < 10 then '0'||replace(replace(split_part(lxrq,'-',2),'月 ',''),'月','')
else replace(replace(split_part(lxrq,'-',2),'月 ',''),'月','') end||substr(lxrq,1,2)) as rq,substr(lxrq,1,2)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM