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