最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

postgresql常用日期函數(shù)使用整理

 更新時(shí)間:2024年02月07日 10:53:51   作者:迷失的小鹿  
在開發(fā)過程中經(jīng)常要取日期的年,月,日,小時(shí)等值,下面這篇文章主要給大家介紹了關(guān)于postgresql常用日期函數(shù)使用整理的相關(guān)資料,文中通過代碼及圖文介紹的非常詳細(xì),需要的朋友可以參考下

簡介

PostgreSQL 提供了以下日期和時(shí)間運(yùn)算的算術(shù)運(yùn)算符。

獲取當(dāng)前系統(tǒng)時(shí)間

select current_date,current_time,current_timestamp ;

-- 當(dāng)前系統(tǒng)時(shí)間一周后的日期
select current_date + interval '7 day',current_time,current_timestamp ;

計(jì)算時(shí)間間隔

age(timestamp, timestamp)函數(shù)用于計(jì)算兩個(gè)時(shí)間點(diǎn)之間的間隔,age(timestamp)函數(shù)用于
計(jì)算當(dāng)前日期的凌晨 12 點(diǎn)到該時(shí)間點(diǎn)之間的間隔

select age(now(),date '1988-11-29') as ageResult;

在這里插入圖片描述

獲取時(shí)間中的信息

date_part(text, timestamp)和 extract(field FROM timestamp)函數(shù)用于獲取日期時(shí)間中的某一部分,例如年份、月份、小時(shí)等;date_part(text, interval)和 extract(field FROM interval)函數(shù)

用于獲取時(shí)間間隔中的某一部分

-- 獲取當(dāng)前日期所屬年份
select extract ('year' from now()) as t;

-- 判斷當(dāng)前日期是星期幾
select extract ('dow' from now()) as t;

select date_part('year', timestamp '2020-03-03 20:38:40'), extract(year FROM
timestamp '2020-03-03 20:38:40'),
 date_part('month', interval '1 years 5 months'), extract(month FROM
interval '1 years 5 months');

select
	date_part('year',
	now()) as "當(dāng)前年度",
	date_part('month',now()) as "當(dāng)前月份",
	date_part('day',now()) as "當(dāng)前日子",
	date_part('dow',now()) as "星期幾"
	;

在這里插入圖片描述

extract 函數(shù)實(shí)際上也是調(diào)用了 date_part 函數(shù),只是參數(shù)方式不同。這兩個(gè)函數(shù)支持獲取的信息包括

  • century,世紀(jì);
  • day,對(duì)于 timestamp,返回月份中的第幾天;對(duì)于 interval,返回天數(shù);
  • decade,年份除以 10;
  • dow,星期天(0)到星期六(6);
  • doy,一年中的第幾天,(1 - 365/366);
  • epoch,對(duì)于 timestamp WITH time zone,返回 1970-01-01 00:00:00 UTC 到該時(shí)間的秒數(shù);
    對(duì)于 date 和 timestamp,返回本地時(shí)間的 1970-01-01 00:00:00 到該時(shí)間的秒數(shù);對(duì)于
    interval,返回以秒數(shù)表示的該時(shí)間間隔;
  • hour,小時(shí)(1 - 23);
  • isodow,ISO 8601 標(biāo)準(zhǔn)中的星期一(1)到星期天(7)
  • isoyear,ISO 8601 標(biāo)準(zhǔn)定義的日期所在的年份。每年從包含 1 月 4 日的星期一開始,2017
    年 01 月 01 日屬于 2016 年;
  • microseconds,微秒,包含秒和小數(shù)秒在內(nèi)的數(shù)字乘以 1000000;
  • millennium,千年;
  • milliseconds,毫秒,包含秒和小數(shù)秒在內(nèi)的數(shù)字乘以 1000;
  • minute,分鐘,(0 - 59);
  • month,月份;
  • quarter,季度,(1 - 4);
  • second,秒數(shù),包含小數(shù)秒;
  • timezone,UTC 時(shí)區(qū),單位為秒;
  • timezone_hour,UTC 時(shí)區(qū)中的小時(shí)部分;
  • timezone_minute,UTC 時(shí)區(qū)中的分鐘部分;
  • week,ISO 8601 標(biāo)準(zhǔn)中的星期幾,每年從第一個(gè)星期四所在的一周開始;
  • year,年份。
-- 計(jì)算當(dāng)前日期從1970年到現(xiàn)在的秒數(shù)
select extract('epoch' from current_date);

截?cái)嗳掌?時(shí)間

date_trunc(field, source [, time_zone ])函數(shù)用于將 timestamp、timestamp WITH time zone、date、time 或者 interval 數(shù)據(jù)截?cái)嗟街付ǖ木?/p>

date_trunc 函數(shù)支持以下截?cái)嗑龋?/p>

  • microseconds
  • milliseconds
  • second
  • minute
  • hour
  • day
  • week
  • month
  • quarter
  • year
  • decade
  • century
  • millennium
select date_trunc('year', timestamp '2020-03-03 20:38:40'),
 date_trunc('day', timestamptz '2020-03-03 20:38:40+00',
'asia/shanghai'),
 date_trunc('hour', interval '2 days 3 hours 40 minutes');

創(chuàng)建日期/時(shí)間

make_date(year int, month int, day int)函數(shù)用于創(chuàng)建一個(gè)日期:
make_interval(years int DEFAULT 0, months int DEFAULT 0, weeks int DEFAULT 0, days int DEFAULT 0, hours int DEFAULT 0, mins int DEFAULT 0, secs double precision DEFAULT 0.0)函數(shù)通過指定年、月、日等信息創(chuàng)建一個(gè)時(shí)間間隔。
make_time(hour int, min int, sec double precision)函數(shù)通過指定小時(shí)、分鐘和秒數(shù)創(chuàng)建一個(gè)
時(shí)間。

make_timestamp(year int, month int, day int, hour int, min int, sec double precision) 函數(shù)通過指定年、月、日、時(shí)、分、秒創(chuàng)建一個(gè)時(shí)間戳
make_timestamptz(year int, month int, day int, hour int, min int, sec double precision, [ timezone text ])函數(shù)通過指定年、月、日、時(shí)、分、秒創(chuàng)建一個(gè)帶時(shí)區(qū)的時(shí)間戳。如果沒有指
定時(shí)區(qū),使用當(dāng)前時(shí)區(qū)
to_timestamp(double precision)函數(shù)將 Unix 時(shí)間戳(自從 1970-01-01 00:00:00+00 以來的秒
數(shù))轉(zhuǎn)換為 PostgreSQL 時(shí)間戳數(shù)據(jù)。

select make_date(2020, 03, 15) as t1,
make_interval(days => 1, hours => 5) as t2,
make_time(1, 2, 30.5) as t3,
make_timestamp(2020, 3, 15, 8, 20, 23.5) as t4,
make_timestamptz(2020, 3, 15, 8, 20, 23.5) as t5,
to_timestamp(1583152349) as t6
;

獲取系統(tǒng)時(shí)間

PostgreSQL 提供了大量用于獲取系統(tǒng)當(dāng)前日期和時(shí)間的函數(shù),例如 current_date、current_time、
current_timestamp、clock_timestamp()、localtimestamp、now()、statement_timestamp()等;同時(shí)還
支持延遲語句執(zhí)行的 pg_sleep()等函數(shù)

參考文章

-- 當(dāng)前日期
select current_date as t1,
current_time as t2,
localtime as t3, 
current_timestamp as t4,
localtimestamp as t5,
now() as t6
;

時(shí)區(qū)轉(zhuǎn)換

AT TIME ZONE 運(yùn)算符用于將 timestamp without time zone、timestamp WITH time zone 以及
time WITH time zone 轉(zhuǎn)換為指定時(shí)區(qū)中的時(shí)間
timezone(zone, timestamp)函數(shù)等價(jià)于 SQL 標(biāo)準(zhǔn)中的 timestamp AT TIME ZONE zone。
官網(wǎng)介紹

select timestamp '2020-03-03 20:38:40' at time zone 'asia/shanghai',
 timestamp with time zone '2020-03-03 20:38:40-05:00' at time zone
'asia/shanghai',
 time with time zone '20:38:40-05:00' at time zone 'asia/shanghai';

總結(jié) 

到此這篇關(guān)于postgresql常用日期函數(shù)使用整理的文章就介紹到這了,更多相關(guān)postgresql常用日期函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PostgreSQL 模式(SCHEMA)操作指南數(shù)據(jù)庫對(duì)象的命名空間管理

    PostgreSQL 模式(SCHEMA)操作指南數(shù)據(jù)庫對(duì)象的命名空間管理

    文章詳細(xì)介紹了PostgreSQL中模式(Schema)的概念、應(yīng)用場(chǎng)景、操作指南、搜索路徑機(jī)制以及最佳實(shí)踐,模式是數(shù)據(jù)庫對(duì)象的命名空間,提供邏輯隔離、權(quán)限控制和組織管理,文章還解答了常見問題,并總結(jié)了模式在數(shù)據(jù)庫管理中的重要性,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • PostgreSQL使用MySQL作為外部表(mysql_fdw)

    PostgreSQL使用MySQL作為外部表(mysql_fdw)

    PostgreSQL 提供了一種訪問和操作外部數(shù)據(jù)源的機(jī)制,稱為外部數(shù)據(jù)包裝器,本文主要給大家介紹了PostgreSQL使用MySQL作為外部表的方法,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • PostgreSQL慢SQL的定位排查方法

    PostgreSQL慢SQL的定位排查方法

    所謂慢SQL 是指在數(shù)據(jù)庫中執(zhí)行時(shí)間超過指定閾值的語句,慢查詢太多,對(duì)于業(yè)務(wù)而言,是有很大風(fēng)險(xiǎn)的,可能隨時(shí)都會(huì)因?yàn)槟撤N原因而被觸發(fā),本篇文章將介紹 PostgreSQL 慢 SQL 如何定位排查,需要的朋友可以參考下
    2024-07-07
  • postgresql 中的參數(shù)查看和修改方式

    postgresql 中的參數(shù)查看和修改方式

    這篇文章主要介紹了postgresql 中的參數(shù)查看和修改方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL數(shù)據(jù)庫中跨庫訪問解決方案

    PostgreSQL數(shù)據(jù)庫中跨庫訪問解決方案

    這篇文章主要介紹了PostgreSQL數(shù)據(jù)庫中跨庫訪問解決方案,需要的朋友可以參考下
    2017-05-05
  • PostgreSQL數(shù)據(jù)庫中修改表字段的常用命令小結(jié)

    PostgreSQL數(shù)據(jù)庫中修改表字段的常用命令小結(jié)

    這篇文章主要給大家介紹了PostgreSQL數(shù)據(jù)庫中修改表字段的常用命令操作,文中有詳細(xì)的代碼示例供大家參考,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-12-12
  • PostgreSQL死鎖排查與解決指南

    PostgreSQL死鎖排查與解決指南

    數(shù)據(jù)庫死鎖是后端開發(fā)者和DBA經(jīng)常遇到的棘手問題,本文將手把手教你如何排查和解決PostgreSQL中的死鎖問題,需要的朋友可以參考下
    2025-11-11
  • PostgreSQL BRIN 索引應(yīng)用場(chǎng)景

    PostgreSQL BRIN 索引應(yīng)用場(chǎng)景

    本文主要介紹了PostgreSQL BRIN 索引應(yīng)用場(chǎng)景,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-05-05
  • PostgreSQL中的日期/時(shí)間函數(shù)詳解

    PostgreSQL中的日期/時(shí)間函數(shù)詳解

    這篇文章主要給大家介紹了關(guān)于PostgreSQL中日期/時(shí)間函數(shù)的相關(guān)資料,文章通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01
  • PostgreSQL的generate_series()函數(shù)的用法說明

    PostgreSQL的generate_series()函數(shù)的用法說明

    這篇文章主要介紹了PostgreSQL的generate_series()函數(shù)的用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01

最新評(píng)論

凌源市| 泾阳县| 永康市| 米泉市| 龙州县| 大竹县| 赣州市| 镇平县| 新疆| 剑河县| 绥滨县| 准格尔旗| 靖西县| 黄龙县| 安西县| 铜梁县| 廉江市| 呼和浩特市| 剑河县| 宿松县| 汉中市| 金昌市| 台州市| 济宁市| 南漳县| 汝州市| 舒城县| 桂平市| 沙坪坝区| 维西| 娄烦县| 无棣县| 东乌| 吴桥县| 汤原县| 扬中市| 南郑县| 灵璧县| 桃园县| 南昌县| 梅州市|