说明
从日期字段中,获取相应的部分,返回类型是 int 型
year()
日期转年函数,返回日期中的年
返回类型:int
语法:
year(string date)
注意格式
date 必须包含 yyyy-MM-dd
年份必须是 yyyy 格式
月日是二位、还是一位都可以
只要符合这些格式就可以返回天,否则转换失败,返回null
例子
select year('2011-12-08 10:03:01')
返回 2011
select year('2012-12-08')
返回 2012
select year('2012-12');
NULL
month()
返回日期中的月份
语法:
month(string date)
返回类型: int
注意格式
date 必须包含 yyyy-MM-dd
年份必须是 yyyy 格式
月日是二位、还是一位都可以
只要符合这些格式就可以返回天,否则转换失败,返回null
例子
select month('2011-12-08 10:03:01');
返回 12
select month('2011-08-08');
返回 8
select month('2011-08');
返回 NULL
day()
返回日期中的天
语法:
day(string date)
返回值: int
注意格式
date 必须包含 yyyy-MM-dd
年份必须是 yyyy 格式
月日是二位、还是一位都可以
只要符合这些格式就可以返回天,否则转换失败,返回null
例子
select day('2011-12-08 10:03:01');
8
select day('2011-12-24');
24
select day('2011-12');
NULL
hour()
返回日期中的小时
语法:
hour(string date)
返回值: int
注意格式
date 必须包含 年-月-日 时:分:秒年:四位、二位都可以月-日 时:分:秒 是二位、一位都可以
只要符合这些格式就可以返回 小时,否则转换失败,返回null
例子
可以正常转换:
select hour('2011-12-08 10:03:01');
10
select hour('1-12-08 9:3:1');
9
不能正常转换:
select hour('2011-12-08 10:3');
0
select hour('10:03:01');
null
minute()
返回日期中的分钟
语法:
minute(string date)
返回值: int
注意格式
date 必须包含 年-月-日 时:分:秒年:四位、二位都可以月-日 时:分:秒 是二位、一位都可以
只要符合这些格式就可以返回 小时,否则转换失败,返回null
例子
可以正常转换
select minute('2011-12-08 10:03:01');
3
select minute('1-12-08 9:3:1');
3
不能正常转换:
select minute('2011-12-08 10:3');
0
select minute('10:03:01');
null
second()
返回日期中的秒
语法:
second(string date)
返回值: int
注意格式
date 必须包含 年-月-日 时:分:秒年:四位、二位都可以月-日 时:分:秒 是二位、一位都可以
只要符合这些格式就可以返回 小时,否则转换失败,返回null
例子
可以正常转换
select second('2011-12-08 10:03:13');
3
select second('1-12-08 9:3:12');
12
不能正常转换:
select second('2011-12-08 10:3');
0
select second('10:03:01');
null
weekofyear()
返回日期在当前的周数
语法:
weekofyear(string date)
返回值: int
注意格式
date 必须包含 yyyy-MM-dd
年份必须是 yyyy 格式
月日是二位、还是一位都可以
只要符合这些格式就可以返回天,否则转换失败,返回null
例子
可以正常转换:
select weekofyear('2022-01-01');
返回52,是上一年的第52周
select weekofyear('2011-1-8 10:03:13');
1
select weekofyear('2011-1-08 10:3');
1
不能正常转换:
select weekofyear('1-1-08 9:3:12');
2
select second('2011-1');
null
感谢:
https://cloud.tencent.com/developer/article/1025429