PostgreSQL:時間——型別、運算子和函式
時間型別
PostgreSQL 支援全套的 SQL 日期和時間型別,列於下表。根據公曆日期計算。在這裡,所有的型別有日期型別以外,其解析度為 day1微秒/14位的解析度。
名稱 | 儲存長度 | 描述 | 低值 | 高值 |
---|---|---|---|---|
timestamp [(p)] [without time zone ] | 8 bytes | 包括日期和時間,不帶時區 | 4713 BC | 294276 AD |
timestamp [(p) ] with time zone | 8 bytes | 包括日期和時間,帶時區 | 4713 BC | 294276 AD |
date | 4 bytes | 日期,但不含時間 | 4713 BC | 5874897 AD |
time [ (p)] [ without time zone ] | 8 bytes | 一天中的時間,不包含日期,不帶時區 | 00:00:00 | 24:00:00 |
time [ (p)] with time zone | 12 bytes | 一天中的時間,不包含日期,帶時區 | 00:00:00+1459 | 24:00:00-1459 |
interval [fields ] [(p) ] | 12 bytes | 時間間隔 | -178000000 years | 178000000 years |
運算子
運算子 | 例子 | 結果 |
---|---|---|
+ | date '2001-09-28' + integer '7' | date '2001-10-05' |
+ | date '2001-09-28' + interval '1 hour' t | imestamp '2001-09-28 01:00' |
+ | date '2001-09-28' + time '03:00' | timestamp '2001-09-28 03:00' |
+ | interval '1 day' + interval '1 hour' | interval '1 day 01:00' |
+ | timestamp '2001-09-28 01:00' + interval '23 hours' | timestamp '2001-09-29 00:00' |
+ | time '01:00' + interval '3 hours' | time '04:00' |
- | - interval '23 hours' | interval '-23:00' |
- | date '2001-10-01' - date '2001-09-28' | integer '3' |
- | date '2001-10-01' - integer '7' | date '2001-09-24' |
- | date '2001-09-28' - interval '1 hour' | timestamp '2001-09-27 23:00' |
- | time '05:00' - time '03:00' | interval '02:00' |
- | time '05:00' - interval '2 hours' | time '03:00' |
- | timestamp '2001-09-28 23:00' - interval '23 hours' | timestamp '2001-09-28 00:00' |
- | interval '1 day' - interval '1 hour' | interval '23:00' |
- | timestamp '2001-09-29 03:00' - timestamp '2001-09-27 12:00' | interval '1 day 15:00' |
* | interval '1 hour' * double precision '3.5' | interval '03:30' |
/ | interval '1 hour' / double precision '1.5' | interval '00:40' |
函式
函式 | 返回型別 | 描述 | 例子 | 結果 |
---|---|---|---|---|
age(timestamp, timestamp) | interval | 減去引數,生成一個使用年、月的"符號化"的結果 | age('2001-04-10', timestamp '1957-06-13') | 43 years 9 mons 27 days |
age(timestamp) | interval | 從 current_date 減去得到的數值 | age(timestamp '1957-06-13') | 43 years 8 mons 3 days |
current_date | date | 今天的日期 | ||
current_time | time | 現在的時間 | ||
current_timestamp | timestamp | 日期和時間 | ||
date_part(text, timestamp) | double | 獲取子域(等效於extract) | date_part('hour', timestamp '2001-02-16 20:38:40') | 20 |
date_part(text, interval) | double | 獲取子域(等效於extract) | date_part('month', interval '2 years 3 months') | 3 |
date_trunc(text, timestamp) | timestamp | 截斷成指定的精度 | date_trunc('hour', timestamp '2001-02-16 20:38:40') | 2001-02-16 20:00:00+00 |
extract(field from timestamp) | double | 獲取子域 | extract(hour from timestamp '2001-02-16 20:38:40') | 20 |
extract(field from interval) | double | 獲取子域 | extract(month from interval '2 years 3 months') | 3 |
localtime | time | 今日的時間 | ||
localtimestamp | timestamp | 日期和時間 | ||
now() | timestamp | 當前的日期和時間(等效於 current_timestamp) | ||
timeofday() | text | 當前日期和時間 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31490526/viewspace-2738263/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PostgreSQL:陣列——型別、運算子和函式SQL陣列型別函式
- PostgreSQL:數字——型別、運算子和函式SQL型別函式
- PostgreSQL:網路地址——型別、運算子和函式SQL型別函式
- 資料型別和運算子資料型別
- PostgreSQL:字元——型別及函式SQL字元型別函式
- Python 筆記 - 課時4 - 變數型別和運算子Python筆記變數型別
- php運算子運用之型別運算子該如何使用PHP型別
- 時間型別和時間戳型別時間戳
- SQL SERVER 日期和時間資料型別及函式 (Transact-SQL)SQLServer資料型別函式
- 型別轉換運算子型別
- GO語言————4.5 基本型別和運算子Go型別
- Java中的資料型別和運算子Java資料型別
- JAVA基礎--資料型別和運算子Java資料型別
- 資料型別和運算子測試題資料型別
- 資料型別與函式索引-PostgreSQL篇資料型別函式索引SQL
- 1:賦值運算子函式賦值函式
- C++ 過載運算子和過載函式C++函式
- Dart函式、類和運算子-處理資訊Dart函式
- php型別運算子的使用PHP型別
- swift 區間運算子(... 和 ..Swift
- 過載運算子、解構函式函式
- day02 go的資料型別和運算子Go資料型別
- Python運算子和表示式Python
- MySQL 的日期和時間函式MySql函式
- SQLServer型別text運算子不相容SQLServer型別
- ## 運算子和方法的區別
- TypeScript 函式型別TypeScript函式型別
- Go基礎-時間和日期函式Go函式
- MySQL日期和時間函式彙總MySql函式
- ES6 - 函式與剩餘運算子函式
- [MySQL光速入門]010 運算子與函式MySql函式
- 實驗一 c語言開發環境使用和資料型別、運算子、表示式C語言開發環境資料型別
- 實驗1 C語言開發環境使用和資料型別,運算子,表示式C語言開發環境資料型別
- 實驗一 C語言開發環境使用和資料型別,運算子,表示式C語言開發環境資料型別
- 實驗1 C語言開發環境使用和資料型別、運算子、表示式C語言開發環境資料型別
- XSD 日期和時間資料型別資料型別
- java基礎一:基本型別,運算子號Java型別
- PHP入門之型別與運算子(一)PHP型別