在我們SQL中一般支持三種數據類型。
- date:日歷日期,包括年(四位),月和日。
- time: 一天中的時間,包括小時,分和秒。可以用變量time(p)來表示秒的小數點后的數字位數(默認是0)。 通過制定 time with timezone,還可以把時區信息連同時間一起存儲。
- timestamp: date 和 time的組合。 可以用變量timestamp(p)來表示秒的小數點后的數字位數(這里默認值為6)。如果指定with timezone,則時區信息也會被存儲
日期和時間類型的值可按如下方式說明:
- date:‘2018-01-17’
- time:‘10:14:00’
- timestamp:‘2018-01-17 10:14:00.45’
日期類型必須按照如上年月日的格式順序指定。time和timestamp的秒部分可能會有小數部分。
我們可以利用cast e as t形式的表達式來講一個字符串(或字符串表達式)e轉換成類型t,其中t是date,time,timestamp中的一種。字符串必須符合正確的格式,像本段開頭說的那樣。
當需要時,時區信息可以從系統設置中得到。
我們可以利用extract(field from d),從date或time的值d中提取出單獨的域,這里的域可是 year,month,day, hour,minute或者second中的任意一種。時區信息可以用timezone_hour 和 timezone_minute來提取。