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)

posted @   Young_Mo  阅读(4337)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示