1. 程式人生 > >vertica截取函數-split_part

vertica截取函數-split_part

split mage 分享 數據庫 reat sql 時間格式 col time

最近工作中遇到一個問題:vertica數據庫,開發在入時間數據時格式為CST時間格式,導致查看數據時非常不方便。想了很久,終於想到了一個臨時解決方案。
vertica的時間轉換函數均不支持轉換(至少todate,datetimestamp不可以,^^)。
數據庫中時間格式如下
技術分享圖片

開始發現date函數可以將該數據轉換成yyyy-mm-dd,沒有時分秒。
技術分享圖片

此時想到另外一種想法,就是拼接,原來時間函數中時分秒格式沒有問題,date可以轉換成年月日,兩個數據進行拼接,豈不美哉!

首先獲取時分秒:
使用split_part函數,類似mysql中的substring函數。根據指定分隔符(觀察數據發現此處使用空格為分隔符比較合適),獲取數據。

select createtime,date(createtime),split_part(createtime,‘ ‘,4) from table ;
技術分享圖片

接下來將上圖中的最後兩個字段拼接起來,看起來就是正常的時間格式了。
select createtime,date(createtime),split_part(createtime,‘‘,4),
to_char(date(createtime),‘yyyy-mm-dd‘||‘ ‘||split_part(createtime,‘ ‘,4)) from table;
技術分享圖片

至此,比較笨拙的轉換完成了,望有更好方法的大俠們積極告知。

vertica截取函數-split_part