欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

postgresql踩坑系列之關(guān)于to_date()問題

 更新時間:2023年03月21日 08:55:43   作者:Sokasa_BiuBiuBiu  
這篇文章主要介紹了postgresql踩坑系列之關(guān)于to_date()問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

postgresql關(guān)于to_date()問題

這里是對postgresql 使用時踩的坑的記錄

上圖來一波官方文檔

官方文檔地址 : https://www.postgresql.org/docs/8.1/functions-formatting.html

PostgreSQL文檔地址 https://www.postgresql.org/docs/8.1/functions-formatting.html

1.to_date(text,text), 在PostgreSQL 里 也是將字符串轉(zhuǎn)換成日期, 但是 僅僅是年月日部分,就算我們在方法里指定了格式亦是如此

比如:

select to_date('2019-01-15 18:33:41','yyyy-MM-dd hh24:mi:ss');

結(jié)果就是

2019-01-15

沒看錯,就是這玩意。因此如果在項目里使用 這函數(shù)去對日期操作,比如 查詢某日某時某點某秒之前的訪問數(shù)據(jù)量,當(dāng)入?yún)⒄_,那么計算很有可能是錯誤的。因為時分秒 沒了,會自動隱式轉(zhuǎn)換成 2019-01-15 00:00:00。和這數(shù)據(jù)比較,那么15號這天的數(shù)據(jù)都是不存在的。

而正確的使用姿勢應(yīng)該是:

select to_timestamp('2019-01-15 18:33:41','yyyy-MM-dd hh24:mi:ss')

結(jié)果就是

2019-01-15 18:33:41+00

后面的+00 就是計算時區(qū)的意思,00不計算。 這方法就是將字符串按照指定格式轉(zhuǎn)換成不帶時區(qū)(timestamp with time zone)的日期。

因此,在使用PostgreSQL進行日期相關(guān)操作的時候如果沒有特殊要求盡量使用to_timestamp(text,text) 方法去進行操作。

postgresql中to_date()函數(shù)使用

問題

錯誤:數(shù) to_date(timestamp without time zone, unknown) 不存在 Hint: 沒有匹配指定名稱和參數(shù)類型的函數(shù). 您也許需要增加明確的類型轉(zhuǎn)換.

原來的使用方式是:

to_date(createddate,'YYYY-MM-DD') ?

解決方式

方法一:

to_date(createddate::text,'YYYY-MM-DD') ?

**方法二:**

to_date(cast(createddate as TEXT),'YYYY-MM-DD')?

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論