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) |
- 此函数在ORA兼容模式数据库中且参数a_format_version值为10c和a_format_dev_version值为s1的情况下:
- to_date, to_timestamp函数支持FX模式(输入和模式严格对应),支持X模式(小数点)。
- 输入模式不能出现超过一次,表示相同信息的模式不能同时出现。如SYYYY和BC不能同时出现。
- 模式大小写不敏感。
- 建议输入和模式之间使用分隔符,否则不保证行为与O完全一致。
- 上表中RR计算年的规则如下: