date_part
date_part('field', source)
描述:date_part函数基于传统的Ingres函数实现(该函数等效于SQL标准函数extract)。
参数:field参数是一个字符串,而不是一个名称。有效的field与extract一致,详细信息请参见EXTRACT。
示例:
1 2 3 4 5 |
gaussdb=# SELECT date_part('day', TIMESTAMP '2001-02-16 20:38:40'); date_part ----------- 16 (1 row) |
1 2 3 4 5 |
gaussdb=# SELECT date_part('hour', INTERVAL '4 hours 3 minutes'); date_part ----------- 4 (1 row) |
表1 用于日期/时间格式化的格式显示了可以用于格式化日期和时间值的格式。
类别 |
格式 |
描述 |
---|---|---|
小时 |
HH |
一天的小时数(01-12) |
HH12 |
一天的小时数(01-12) |
|
HH24 |
一天的小时数(00-23) |
|
分钟 |
MI |
分钟(00-59) |
秒 |
SS |
秒(00-59) |
FF |
微秒(000000-999999) |
|
FF1 |
微秒(0-9) |
|
FF2 |
微秒(00-99) |
|
FF3 |
微秒(000-999) |
|
FF4 |
微秒(0000-9999) |
|
FF5 |
微秒(00000-99999) |
|
FF6 |
微秒(000000-999999) |
|
SSSSS |
午夜后的秒(0-86399) |
|
上、下午 |
AM或A.M. |
上午标识 |
PM或P.M. |
下午标识 |
|
年 |
Y,YYY |
带逗号的年(4和更多位) |
SYYYY |
公元前四位年 |
|
YYYY |
年(4和更多位) |
|
YYY |
年的后三位 |
|
YY |
年的后两位 |
|
Y |
年的最后一位 |
|
IYYY |
ISO年(4位或更多位) |
|
IYY |
ISO年的最后三位 |
|
IY |
ISO年的最后两位 |
|
I |
ISO年的最后一位 |
|
RR |
年的后两位(可在21世纪存储20世纪的年份) |
|
RRRR |
可接收4位年或两位年。若是两位,则和RR的返回值相同,若是四位,则和YYYY相同。 |
|
|
纪元标识。BC(公元前),AD(公元后)。 |
|
月 |
MONTH |
全长大写月份名(空白填充为9字符) |
MON |
大写缩写月份名(3字符) |
|
MM |
月份数(01-12) |
|
RM |
罗马数字的月份(I-XII ;I=JAN)(大写) |
|
天 |
DAY |
全长大写日期名(空白填充为9字符) |
DY |
缩写大写日期名(3字符) |
|
DDD |
一年里的日(001-366) |
|
DD |
一个月里的日(01-31) |
|
D |
一周里的日(1-7 ;周日是 1) |
|
周 |
W |
一个月里的周数(1-5)(第一周从该月第一天开始) |
WW |
一年里的周数(1-53)(第一周从该年的第一天开始) |
|
IW |
ISO一年里的周数(第一个星期四在第一周里) |
|
世纪 |
CC |
世纪(2位)(21 世纪从 2001-01-01 开始) |
儒略日 |
J |
儒略日(自公元前 4712 年 1 月 1 日来的天数) |
季度 |
Q |
季度 |
类别 |
模式 |
描述 |
---|---|---|
世纪 |
SCC |
世纪标识,公元前会显示- |
年 |
SYYYY |
返回数字型年,公元前会显示- |
RR |
返回日期的2位年份 |
|
RRRR |
返回日期的4位年份 |
|
YEAR |
返回字符型年 |
|
SYEAR |
返回字符型年,公元前会显示- |
|
日期格式 |
DL |
返回指定长日期形式 |
DS |
返回指定短日期 |
|
TS |
返回指定时间格式 |
|
秒 |
FF7 |
微秒(0000000-9999990) |
FF8 |
微秒(00000000-99999900) |
|
FF9 |
微秒(000000000-999999000) |


- to_date, to_timestamp函数支持FX模式(输入和模式严格对应),支持X模式(小数点)。
- 输入模式不能出现超过一次,表示相同信息的模式不能同时出现。如SYYYY和BC不能同时出现。
- 模式大小写不敏感。
- 建议输入和模式之间使用分隔符,否则不保证行为与O完全一致。