一、日期函数
1 date_add 指定日期n天之后,用法:date_add(date('2018-09-09'),10) 参数类型分别为date和int,返回date类型
2 add_months 指定日期n月之后,用法:add_months(date('2018-09-09'),2) 参数类型分别为date和int类型,返回date类型
3 datediff 计算两个日期相差天数,用法:datediff(date('2018-09-19'),date('2018-09-09'))参数类型都为date类型,返回值int
4 dayofmonth 返回日期中的日,用法:dayofmonth(date('2018-09-09'))参数类型为date类型,返回值int
5 weekofyear 返回日期在一年中的周数,用法:weekofyear(date('2018-09-09'))参数类型为date类型,返回值int
6 to_date 返回时间戳中的日期部分,用法:to_date(cast('2018-09-09 12:00:00' as timestamp))或to_date(date('2018-09-09'))参数类型为timestamp时间戳或date类型,返回值为string,
7 unix_timestamp 将日期转为unix时间戳,用法:unix_timestamp(datedate('2018-09-19'))参数类型为date类型,返回值bigint
8 year 返回日期或时间戳的年份,用法:year(date('2018-09-19'))参数类型为date类型或timestamp类型,返回值int类型
9 quarter 返回日期或时间戳的季度,用法:quarter(date('2018-09-19'))参数类型为date类型或timestamp类型,返回值int类型
10 month 返回日期或时间戳的月份,用法:month(date('2018-09-19'))参数类型为date类型或timestamp类型,返回值int类型
11 day 返回日期或时间戳的天,用法:day(date('2018-09-19'))参数类型为date类型或timestamp类型,返回值int类型
12 hour 返回时间戳中的小时,用法:hour(timestamp('2009-07-30 12:58:59'))参数类型为时间戳类型,返回值int类型
13 minute 返回时间戳中的分钟,用法:minute(timestamp('2009-07-30 12:58:59'))参数类型为时间戳类型,返回值int类型
14 second 返回时间戳中的秒数,用法:second(timestamp('2009-07-30 12:58:59'))参数类型为时间戳类型,返回值int类型
15 date_sub 返回指定日期n天之前日期,用法:date_sub(date('2018-09-09'),5) 参数类型分别为date和int,返回date类型
16 current_date、current_timestamp 返回当前日期、当前时间戳,用法:select current_date,current_timestamp 返回当前日期、当前时间戳作为字段
1 select date_add(date('2018-09-09'),10) -- 返回:2018-09-19
2 select add_months(date('2018-09-09'),2) -- 返回:2018-11-09
3 select datediff(date('2018-09-19'),date('2018-09-09')) -- 返回:10
4 select dayofmonth(date('2018-09-09')) -- 返回:9
5 select weekofyear(date('2018-09-09')) -- 返回:36
6 select to_date(cast('2018-09-09 12:00:00' as timestamp))
7 select to_date(date('2018-09-09')) -- 返回 :2018-09-09
8 select unix_timestamp(date('2018-09-19')) -- 返回:1537286400
9 select year(date('2018-09-19')) --返回:2018
10 select quarter(date('2018-09-19')) --返回:3
11 select month(date('2018-09-19')) --返回:09
12 select day(date('2018-09-19')) --返回:19
13 select hour(timestamp('2009-07-30 12:58:59')) --返回:12
14 select minute(timestamp('2009-07-30 12:58:59')) --返回:58
15 select second(timestamp('2009-07-30 12:58:59')) --返回:59
16 select date_sub(date('2018-09-09'),5) -- 返回:2018-09-04
17 select current_date,current_timestamp--返回:2018-10-092018-10-09 17:14:25.868