文档首页 > > SQL语法参考> 批作业SQL语法> 内置函数> 日期函数

日期函数

分享
更新时间: 2019/12/23 GMT+08:00

DLI所支持的日期函数如表1所示。

表1 日期/时间函数

函数

返回值

描述

from_unixtime(bigint unixtime[, string format])

STRING

将时间戳转换为时间格式,格式为“yyyy-MM-dd HH:mm:ss”或“yyyyMMddHHmmss.uuuuuu”。

unix_timestamp()

BIGINT

如果不带参数的调用,返回一个Unix时间戳(从“1970-01-01 00:00:00”到现在的秒数)为无符号整数。

unix_timestamp(string date)

BIGINT

指定日期参数调用UNIX_TIMESTAMP(),它返回“1970-01-01 00:00:00”到指定日期的秒数。

unix_timestamp(string date, string pattern)

BIGINT

转换pattern格式的日期到UNIX时间戳:unix_timestamp("2009-03-20", "yyyy-MM-dd") = 1237532400

to_date(string timestamp)

STRING

返回时间中的年月日,例如:to_date("1970-01-01 00:00:00") = "1970-01-01"

year(string date)

INT

返回指定日期中的年份。

quarter(string date/timestamp/string)

INT

返回该date/timestamp/string所在的季度,如quarter('2015-04-01')=2。

month(string date)

INT

返回指定时间的月份,范围为1至12月。

day(string date) dayofmonth(string date)

INT

返回指定时间的日期。

hour(string date)

INT

返回指定时间的小时,范围为0到23。

minute(string date)

INT

返回指定时间的分钟,范围为0到59。

second(string date)

INT

返回指定时间的秒,范围为0到59。

weekofyear(string date)

INT

返回指定日期是一年中的第几周,范围为0到53。

datediff(string enddate, string startdate)

INT

两个时间参数的天数之差。

date_add(string startdate, int days)

STRING

给定时间,在此基础上加上指定的时间段。

date_sub(string startdate, int days)

STRING

给定时间,在此基础上减去指定的时间段。

from_utc_timestamp(string timestamp, string timezone)

TIMESTAMP

将UTC的时间戳转化为timezone所对应的时间戳,如from_utc_timestamp('1970-01-01 08:00:00','PST') returns 1970-01-01 00:00:00。

to_utc_timestamp(string timestamp, string timezone)

TIMESTAMP

将timezone所对应的时间戳转换为UTC的时间戳,如to_utc_timestamp('1970-01-01 00:00:00','PST') returns 1970-01-01 08:00:00。

current_date()

DATE

返回当前日期,如2016-07-04。

current_timestamp()

TIMESTAMP

返回当前时间,如2016-07-04 11:18:11.685。

add_months(string start_date, int num_months)

STRING

返回start_date在num_months个月之后的date。

last_day(string date)

STRING

返回date所在月份的最后一天,格式为yyyy-MM-dd,如2015-08-31。

next_day(string start_date, string day_of_week)

STRING

返回start_date之后最接近day_of_week的日期,格式为yyyy-MM-dd,day_of_week表示一周内的星期(如Monday、FRIDAY)。

trunc(string date, string format)

STRING

将date按照特定的格式进行清零操作,支持格式为MONTH/MON/MM, YEAR/YYYY/YY,如trunc('2015-03-17', 'MM') = 2015-03-01。

months_between(string date1, string date2)

DOUBLE

返回date1与date2之间的月份差。

date_format(date/timestamp/string ts, string fmt)

STRING

返回date/timestamp/string的格式化输出,格式支持JAVA的SimpleDateFormat格式,如date_format('2015-04-08', 'y') = '2015'。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问