關(guān)于postgresql?timestamp時間戳問題
postgresql timestamp時間戳
數(shù)據(jù)庫的表中有一個update_time的時間戳字段,在新增或修改數(shù)據(jù)時要自動獲取當(dāng)前時間,而不是代碼中手動傳入時間。
postgresql 和mysql的區(qū)別
根據(jù)調(diào)研在mysql中支持當(dāng)前時間戳的配置CURRENT_TIMESTAMP

此時改表的結(jié)果是

而postgresql 不支持該配置,即使配置CURRENT_TIMESTAMP也不會觸發(fā)更新和創(chuàng)建事件
解決方案
postgresql只能采用觸發(fā)器的形式進(jìn)行操作。
創(chuàng)建觸發(fā)器流程:
-- 創(chuàng)建觸發(fā)函數(shù) --
CREATE OR REPLACE FUNCTION update_modified_column()
RETURNS TRIGGER AS $$
BEGIN
NEW.update_time = now();
RETURN NEW;
END;
$$ language 'plpgsql';
-- 創(chuàng)建觸發(fā)器 on 后面是對應(yīng)數(shù)據(jù)庫的表名--
CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON area FOR EACH ROW EXECUTE PROCEDURE update_modified_column();查詢觸發(fā)器
-- 查詢所有觸發(fā)器 -- SELECT * FROM pg_trigger; -- 查詢所有觸發(fā)函數(shù) -- select * from pg_proc;
postgresql timestamp相減
如果是按相差24小時就算1天的話,直接用兩個timestamp值相減得到一個interval值,然后獲得此interval值的天數(shù)部分即可
如下:
select date_part('day', '2015-01-15 17:05'::timestamp - '2013-01-14 16:05'::timestamp);如果要按timestamp的日期部分做相差天數(shù),則可以轉(zhuǎn)成date值,然后直接相減
如下:
select ('2015-01-15 17:05'::timestamp)::date - ('2015-01-14 19:05'::timestamp)::date;總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
PostgreSQL 實現(xiàn)列轉(zhuǎn)行問題
這篇文章主要介紹了PostgreSQL 實現(xiàn)列轉(zhuǎn)行問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
PostgreSQL數(shù)據(jù)庫視圖及子查詢使用操作
這篇文章主要為大家介紹了PostgreSQL數(shù)據(jù)庫視圖及子查詢的使用操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04
PostgreSQL教程(十二):角色和權(quán)限管理介紹
這篇文章主要介紹了PostgreSQL教程(十二):角色和權(quán)限管理介紹,本文講解了數(shù)據(jù)庫角色、角色屬性、權(quán)限、角色成員,需要的朋友可以參考下2015-05-05
postgres 使用存儲過程批量插入數(shù)據(jù)的操作
這篇文章主要介紹了postgres 使用存儲過程批量插入數(shù)據(jù)的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02
PostgreSQL實戰(zhàn)之啟動恢復(fù)讀取checkpoint記錄失敗的條件詳解
這篇文章主要給大家介紹了關(guān)于PostgreSQL實戰(zhàn)之啟動恢復(fù)讀取checkpoint記錄失敗的條件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08
PostgreSql生產(chǎn)級別數(shù)據(jù)庫安裝要注意事項
這篇文章主要介紹了PostgreSql生產(chǎn)級別數(shù)據(jù)庫安裝要注意事項,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08

