time_format
time_format(time, fmt)
描述:time_format函数将日期参数按照fmt指定的格式转换为字符串。与date_format函数类似,但格式字符串只能包含小时、分钟、秒和微秒的格式说明符,如果包含其他说明符则会返回NULL值或0。
返回值类型:text
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
SELECT time_format('2009-10-04 22:23:00', '%M %D %W'); time_format -------------------- (1 row) SELECT time_format('2021-02-20 08:30:45', '%Y-%m-%d %H:%i:%S'); time_format --------------------- 0000-00-00 08:30:45 (1 row) SELECT time_format('2021-02-20 18:10:15', '%r-%T'); time_format ---------------------- 06:10:15 PM-18:10:15 (1 row) |
time_format仅支持时间相关的格式输出(%f、%H、%h、%I、%i、%k、%l、%p、%r、%S、%s、%T),不支持日期相关格式,其他情况处理为普通字符。
str_to_date(str, format)
描述:将日期/时间格式的字符串(str),按照所提供的显示格式(format)转换为日期类型的值。
返回值类型:timestamp
示例:
1 2 3 4 5 6 7 8 9 10 |
SELECT str_to_date('01,5,2021','%d,%m,%Y'); str_to_date --------------------- 2021-05-01 00:00:00 (1 row) SELECT str_to_date('01,5,2021,09,30,17','%d,%m,%Y,%h,%i,%s'); str_to_date --------------------- 2021-05-01 09:30:17 (1 row) |
适用于str_to_date的格式化输入的格式类型参考表1。这里仅支持“日期”格式、“日期+时间”格式的输入转换,对于仅“时间”格式的输入场景请使用str_to_time。
str_to_time(str, format)
描述:将时间格式的字符串(str),按照所提供的显示格式(format)转换为时间类型的值。
返回值类型:time
示例:
1 2 3 4 5 |
SELECT str_to_time('09:30:17','%h:%i:%s'); str_to_time ------------- 09:30:17 (1 row) |
适用于str_to_time的格式化输入的格式类型参考表1,这里仅支持“时间”格式的输入转换,对于“日期”格式、“日期+时间”格式的输入场景请使用str_to_date。
week(date[, mode])
描述:根据模式返回指定日期时间所处年份中对应的周数,默认模式为0。
返回值类型:integer
模式 |
一周的第一天 |
周数范围 |
第一周的判断规则 |
---|---|---|---|
0 |
星期日 |
0-53 |
元旦后的第一个星期日所在周 |
1 |
星期一 |
0-53 |
元旦后有四天或者更多天所在周 |
2 |
星期日 |
1-53 |
元旦后的第一个星期日所在周 |
3 |
星期一 |
1-53 |
元旦后有四天或者更多天所在周 |
4 |
星期日 |
0-53 |
元旦后有四天或者更多天所在周 |
5 |
星期一 |
0-53 |
元旦后的第一个星期一所在周 |
6 |
星期日 |
1-53 |
元旦后有四天或者更多天所在周 |
7 |
星期一 |
1-53 |
元旦后的第一个星期一所在周 |
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
SELECT week('2018-01-01'); week ------ 0 (1 row) SELECT week('2018-01-01', 0); week ------ 0 (1 row) SELECT week('2020-12-31', 1); week ------ 53 (1 row) SELECT week('2020-12-31', 5); week ------ 52 (1 row) |
weekday(date)
描述:返回给定日期date对应的星期索引,星期一作为一周的开始日。
取值范围:0~6
返回值类型:integer
示例:
1 2 3 4 5 |
SELECT weekday('2020-11-06'); weekday --------- 4 (1 row) |
weekofyear(date)
描述:返回给定日期date所在周在本年中对应的周数,取值范围为[1, 53],等价于week(date, 3)。
返回值类型:integer
示例:
1 2 3 4 5 |
SELECT weekofyear('2020-12-30'); weekofyear ------------ 53 (1 row) |
year(date)
描述:获取时间日期date所处的年份
返回值类型:integer
示例:
1 2 3 4 5 |
SELECT year('2020-11-13'); year ------ 2020 (1 row) |
yearweek(date[, mode])
描述:返回给定日期date在本年中对应的年份和周数,周数范围为[1, 53]。
返回值类型:integer
示例:
1 2 3 4 5 6 7 8 9 10 11 |
SELECT yearweek('2019-12-31'); yearweek ---------- 201952 (1 row) SELECT yearweek('2019-1-1'); yearweek ---------- 201852 (1 row) |