主頁 > 知識(shí)庫 > postgreSQL 使用timestamp轉(zhuǎn)成date格式

postgreSQL 使用timestamp轉(zhuǎn)成date格式

熱門標(biāo)簽:打電話智能電銷機(jī)器人授權(quán) 重慶自動(dòng)外呼系統(tǒng)定制 海豐有多少商家沒有地圖標(biāo)注 外呼調(diào)研系統(tǒng) 合肥公司外呼系統(tǒng)運(yùn)營商 地圖標(biāo)注和圖片名稱的區(qū)別 美容工作室地圖標(biāo)注 辦公外呼電話系統(tǒng) 漯河外呼電話系統(tǒng)

嘗試了以下兩種方式,將pg中的timestamp格式轉(zhuǎn)換成date格式:

方式一:

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萬條測(cè)試數(shù)據(jù),方式二的性能更好!

補(bǔ)充:PostgreSQL中的時(shí)間戳格式轉(zhuǎn)化常識(shí)

前提:當(dāng)數(shù)據(jù)庫中保存的是timestamp類型時(shí),我們需要通過這個(gè)時(shí)間戳來做樂觀數(shù)據(jù)鎖,那么久需要Select出來,然后在更新的時(shí)候在Update的where條件中判斷時(shí)間戳是否與查詢時(shí)相同。

下面的SQL文查詢結(jié)果是 "2018-08-20 10:09:10.815125",并且返回類型可以當(dāng)String處理。返回json等都方便使用。

SQL> select to_char(updateTime, 'yyyy-mm-dd hh24:mi:ss.us') from tbl_A;

更新時(shí),參數(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 hh24:mi:ss.us');

另附表一張

函數(shù) 返回類型 描述 例子
to_char(timestamp, text) text 把時(shí)間戳轉(zhuǎn)換成字串 to_char(current_timestamp, 'HH12:MI:SS')
to_char(interval, text) text 把時(shí)間間隔轉(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ù)/雙精度數(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)換成時(shí)間戳 to_timestamp('05 Dec 2000', 'DD Mon YYYY')
to_timestamp(double) timestamp 把UNIX紀(jì)元轉(zhuǎn)換成時(shí)間戳 to_timestamp(200120400)
to_number(text, text) numeric 把字串轉(zhuǎn)換成numeric to_number('12,454.8-', '99G999D9S')


模式 描述
HH 一天的小時(shí)數(shù)(01-12)
HH12 一天的小時(shí)數(shù)(01-12)
HH24 一天的小時(shí)數(shù)(00-23)
MI 分鐘(00-59)
SS 秒(00-59)
MS 毫秒(000-999)
US 微秒(000000-999999)
AM 正午標(biāo)識(shí)(大寫)
Y,YYY 帶逗號(hào)的年(4和更多位)
YYYY 年(4和更多位)
YYY 年的后三位
YY 年的后兩位
Y 年的最后一位
MONTH 全長大寫月份名(空白填充為9字符)
Month 全長混合大小寫月份名(空白填充為9字符)
month 全長小寫月份名(空白填充為9字符)
MON 大寫縮寫月份名(3字符)
Mon 縮寫混合大小寫月份名(3字符)
mon 小寫縮寫月份名(3字符)
MM 月份號(hào)(01-12)
DAY 全長大寫日期名(空白填充為9字符)
Day 全長混合大小寫日期名(空白填充為9字符)
day 全長小寫日期名(空白填充為9字符)
DY 縮寫大寫日期名(3字符)
Dy 縮寫混合大小寫日期名(3字符)
dy 縮寫小寫日期名(3字符)
DDD 一年里的日子(001-366)
DD 一個(gè)月里的日子(01-31)
D 一周里的日子(1-7;周日是1)
W 一個(gè)月里的周數(shù)(1-5)(第一周從該月第一天開始)
WW 一年里的周數(shù)(1-53)(第一周從該年的第一天開始)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • PostgreSQL LIKE 大小寫實(shí)例
  • Postgresql中LIKE和ILIKE操作符的用法詳解
  • PostgreSQL中的COMMENT用法說明
  • 使用PostgreSQL為表或視圖創(chuàng)建備注的操作
  • postgresql安裝及配置超詳細(xì)教程
  • Docker環(huán)境下升級(jí)PostgreSQL的步驟方法詳解
  • postgresql insert into select無法使用并行查詢的解決
  • postgresql varchar字段regexp_replace正則替換操作
  • 關(guān)于PostgreSQL錯(cuò)誤日志與慢查詢?nèi)罩臼占?/li>
  • 淺談PostgreSQL中大小寫不敏感問題

標(biāo)簽:衡陽 蚌埠 烏海 珠海 晉城 株洲 來賓 錦州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《postgreSQL 使用timestamp轉(zhuǎn)成date格式》,本文關(guān)鍵詞  postgreSQL,使用,timestamp,轉(zhuǎn)成,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《postgreSQL 使用timestamp轉(zhuǎn)成date格式》相關(guān)的同類信息!
  • 本頁收集關(guān)于postgreSQL 使用timestamp轉(zhuǎn)成date格式的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章