一、日期函数
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