怎么在postgreSQL中將timestamp轉(zhuǎn)換成date格式?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
方式一:
select to_date( to_char( f.begin_time, 'yyyy-mm-dd' ), 'yyyy-mm-dd' ) from hafd f
select f.begin_time::DATE from hafd f
大概比較了一下,9萬條測試數(shù)據(jù),方式二的性能更好!
補充:PostgreSQL中的時間戳格式轉(zhuǎn)化常識
前提:當(dāng)數(shù)據(jù)庫中保存的是timestamp類型時,我們需要通過這個時間戳來做樂觀數(shù)據(jù)鎖,那么久需要Select出來,然后在更新的時候在Update的where條件中判斷時間戳是否與查詢時相同。
下面的SQL文查詢結(jié)果是 "2018-08-20 10:09:10.815125",并且返回類型可以當(dāng)String處理。返回json等都方便使用。
SQL> select to_char(updateTime, 'yyyy-mm-dd hh34:mi:ss.us') from tbl_A;
更新時,參數(shù)傳入“2018-08-20 10:09:10.815125”的字符串,那么需要在SQL中轉(zhuǎn)化來匹配updateTime字段的timeStamp數(shù)據(jù)類型。
SQL> update tbl_A set username='XXX' where userid='001' and updateTime = to_timestamp('2018-08-20 10:09:10.815125','yyyy-mm-dd hh34:mi:ss.us');
另附表一張
函數(shù) | 返回類型 | 描述 | 例子 |
to_char(timestamp, text) | text | 把時間戳轉(zhuǎn)換成字串 | to_char(current_timestamp, 'HH12:MI:SS') |
to_char(interval, text) | text | 把時間間隔轉(zhuǎn)為字串 | to_char(interval '15h 2m 12s', 'HH24:MI:SS') |
to_char(int, text) | text | 把整數(shù)轉(zhuǎn)換成字串 | to_char(125, '999') |
to_char(double precision, text) | text | 把實數(shù)/雙精度數(shù)轉(zhuǎn)換成字串 | to_char(125.8::real, '999D9') |
to_char(numeric, text) | text | 把numeric轉(zhuǎn)換成字串 | to_char(-125.8, '999D99S') |
to_date(text, text) | date | 把字串轉(zhuǎn)換成日期 | to_date('05 Dec 2000', 'DD Mon YYYY') |
to_timestamp(text, text) | timestamp | 把字串轉(zhuǎn)換成時間戳 | to_timestamp('05 Dec 2000', 'DD Mon YYYY') |
to_timestamp(double) | timestamp | 把UNIX紀(jì)元轉(zhuǎn)換成時間戳 | to_timestamp(200120400) |
to_number(text, text) | numeric | 把字串轉(zhuǎn)換成numeric | to_number('12,454.8-', '99G999D9S') |
模式 | 描述 |
HH | 一天的小時數(shù)(01-12) |
HH12 | 一天的小時數(shù)(01-12) |
HH24 | 一天的小時數(shù)(00-23) |
MI | 分鐘(00-59) |
SS | 秒(00-59) |
MS | 毫秒(000-999) |
US | 微秒(000000-999999) |
AM | 正午標(biāo)識(大寫) |
Y,YYY | 帶逗號的年(4和更多位) |
YYYY | 年(4和更多位) |
YYY | 年的后三位 |
YY | 年的后兩位 |
Y | 年的最后一位 |
MONTH | 全長大寫月份名(空白填充為9字符) |
Month | 全長混合大小寫月份名(空白填充為9字符) |
month | 全長小寫月份名(空白填充為9字符) |
MON | 大寫縮寫月份名(3字符) |
Mon | 縮寫混合大小寫月份名(3字符) |
mon | 小寫縮寫月份名(3字符) |
MM | 月份號(01-12) |
DAY | 全長大寫日期名(空白填充為9字符) |
Day | 全長混合大小寫日期名(空白填充為9字符) |
day | 全長小寫日期名(空白填充為9字符) |
DY | 縮寫大寫日期名(3字符) |
Dy | 縮寫混合大小寫日期名(3字符) |
dy | 縮寫小寫日期名(3字符) |
DDD | 一年里的日子(001-366) |
DD | 一個月里的日子(01-31) |
D | 一周里的日子(1-7;周日是1) |
W | 一個月里的周數(shù)(1-5)(第一周從該月第一天開始) |
WW | 一年里的周數(shù)(1-53)(第一周從該年的第一天開始) |
關(guān)于怎么在postgreSQL中將timestamp轉(zhuǎn)換成date格式問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。
新聞標(biāo)題:怎么在postgreSQL中將timestamp轉(zhuǎn)換成date格式-創(chuàng)新互聯(lián)
瀏覽路徑:http://aaarwkj.com/article42/dsjshc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、域名注冊、品牌網(wǎng)站制作、微信公眾號、企業(yè)建站、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)