tencent cloud

流计算 Oceanus

动态与公告
产品动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
计费模式
退费说明
调整配置费用说明
快速入门
从零开始上手
创建独享集群
创建 SQL 作业
创建 JAR 作业
创建 ETL 作业
创建 Python 作业
操作指南
作业管理
作业开发
作业监控
作业日志
事件与诊断
元数据管理
快照管理
作业调优
依赖管理
集群管理
权限管理
SQL 开发指南
开发指南概述
术语和数据类型
DDL 数据定义语句
DML 数据操作语句
MySQL CDC 多 Source 复用
上下游开发指南
SET 控制语句
运算符和内置函数
标识符与保留字
Python 开发指南
ETL 开发指南
概述
ETL 作业术语表
上下游开发指南
常见问题
联系我们

时间相关函数

PDF
聚焦模式
字号
最后更新时间: 2023-11-08 14:18:15
时间相关函数的函数名和功能描述如下:
函数名
功能描述
DATE string
将 "yyyy-MM-dd" 形式表示的字符串转为 SQL 日期(DATE)类型。
TIME string
将 "HH:mm:ss" 形式表示的字符串转为 SQL 时间(TIME)类型。
TIMESTAMP string
将 "yyyy-MM-dd HH:mm:ss[.SSS]" 形式的字符串转为 SQL 时间戳(TIMESTAMP)类型。
INTERVAL string range
接受 "dd hh:mm:ss.fff" 形式的字符串(毫秒),或者 "yyyy-MM" 形式的字符串(月)。
对于毫秒,可以接受 DAY、MINUTE、DAY TO HOUR、DAY TO SECOND 作为 range。
对于月,接受 YEAR 或 YEAR TO MONTH 作为 range。例如 INTERVAL '10 00:00:00.004' DAY TO SECONDINTERVAL '10' DAYINTERVAL '2-10' YEAR TO MONTH
CURRENT_DATE
返回当前的 SQL DATE 格式表示的日期(UTC)。
CURRENT_TIME
返回当前的 SQL TIME 格式表示的时间(UTC)。
CURRENT_TIMESTAMP
返回当前 SQL TIMESTAMP 格式表示的时间戳(UTC)。
LOCALTIME
返回本地时区表示的 SQL 时间。
LOCALTIMESTAMP
返回本地时区表示的 SQL 时间戳。
EXTRACT(timeintervalunit FROM temporal)
获取时间点或时间段字符串中的某项。例如 EXTRACT(DAY FROM DATE '2006-06-05') 返回5,而 EXTRACT(YEAR FROM DATE '2018-06-12') 则返回2018。
YEAR(date)
返回指定日期中的年份,等价于 EXTRACT(YEAR FROM date)。例如 YEAR(DATE '2020-08-12') 返回2020。
QUARTER(date)
返回指定日期的季度,等价于 EXTRACT(QUARTER FROM date)。例如 QUARTER(DATE '2012-09-10')返回3。
MONTH(date)
返回指定日期的月份,等价于 EXTRACT(MONTH FROM date)。例如 MONTH(DATE '2012-09-10') 返回9。
WEEK(date)
返回指定日期的周数,即当年的第几周,等价于 EXTRACT(WEEK FROM date)。例如 WEEK(DATE '1994-09-27') 返回39。
DAYOFYEAR(date)
返回指定日期在当年的天数,即当年的第几天(范围是[1,366]),等价于 EXTRACT(DOY FROM date)。例如 DAYOFYEAR(DATE '1994-09-27') 返回270。
DAYOFMONTH(date)
返回指定日期在当月的天数,即当月的第几天(范围是[1,31]),等价于 EXTRACT(DAY FROM date)。例如 DAYOFMONTH(DATE '1994-09-27') 返回27。
DAYOFWEEK(date)
返回指定日期在本周的天数,即本周的第几天(范围是[1,7]),等价于 EXTRACT(DOW FROM date)。例如 DAYOFWEEK(DATE '1994-09-27') 返回3。
HOUR(timestamp)
返回指定时间戳的小时部分(范围是[0,23])。等价于 EXTRACT(HOUR FROM timestamp)。例如 HOUR('2017-10-02 12:25:44') 返回12。
MINUTE(timestamp)
返回指定时间戳的分钟部分(范围是[0,59])。等价于 EXTRACT(MINUTE FROM timestamp)。例如 MINUTE('2017-10-02 12:25:44') 返回25。
SECOND(timestamp)
返回指定时间戳的秒部分(范围是[0,59])。等价于 EXTRACT(SECOND FROM timestamp)。例如 SECOND('2017-10-02 12:25:44') 返回44。
FLOOR(timepoint TO timeintervalunit)
将一个时间点向下取整,例如 FLOOR(TIME '12:44:31' TO MINUTE) 返回12:44:00。
CEIL(timepoint TO timeintervalunit)
将一个时间点向上取整,例如 CEIL(TIME '12:44:31' TO MINUTE) 返回12:45:00。
(timepoint, temporal) OVERLAPS (timepoint, temporal)
判断两个时间段是否重叠。例如 (TIME'2:55:00', INTERVAL '1' HOUR) OVERLAPS (TIME'3:30:00', INTERVAL '2' HOUR) 返回 TRUE;而 (TIME'9:00:00', TIME '10:00:00') OVERLAPS (TIME'10:15:00', INTERVAL '3' HOUR) 返回 FALSE。
TO_TIMESTAMP(string, simple_format)
将字符串格式的时间戳转为 Timestamp 类型。详见 类型转换函数
DATE_FORMAT_SIMPLE (timestamp, simple_format)
将 BIGINT 类型以毫秒为单位的 Unix 时间戳格式化为字符串。详见 类型转换函数
DATE_FORMAT(timestamp, format)
将 Timestamp 类型的时间戳格式化为字符串。详见 类型转换函数
TIMESTAMP_TO_LONG(timestamp)
将 Timestamp 类型的时间戳转为 BIGINT 类型以毫秒或秒(可选)为单位的 Unix 时间戳。详见 类型转换函数
TIMESTAMPADD(unit, interval, timestamp)
对指定 timestamp 增加一个时间段(允许为负数),单位区间必须为 SECOND、MINUTE、HOUR、DAY、WEEK、MONTH、QUARTER、YEAR 中的一种。例如 TIMESTAMPADD(WEEK, 1, '2013-01-02')返回'2013-01-09'。
TIMESTAMPDIFF(timepointunit, timepoint1, timepoint2)
计算指定单位区间下,timepoint1 和 timepoint2 之间的时间差(允许为负数)。timepointunit 区间必须为 SECOND、MINUTE、HOUR、DAY、WEEK、MONTH、QUARTER、YEAR 中的一种。例如 TIMESTAMPDIFF(DAY, TIMESTAMP '2003-01-02 10:00:00', TIMESTAMP '2003-01-03 10:00:00') 返回1,即相差正1天。
CONVERT_TZ(string1, string2, string3)
将 string1 表示的时间戳(必须是 'yyyy-MM-dd HH:mm:ss' 格式)从时区(允许缩写例如 "PST",全称例如 "Asia/Shanghai",或者任意时区例如 "GMT-8:00")string2 转换到时区 string3。例如 CONVERT('1970-01-01 00:00:00', 'UTC', 'America/Los_Angeles') 返回 '1969-12-31 16:00:00'。
FROM_UNIXTIME(numeric[, string])
返回 numeric 代表的 Unix 时间戳(从 1970-01-01 00:00:00 UTC 到现今的秒数)转为 'YYYY-MM-DD hh:mm:ss' 格式的字符串。默认使用 UTC+8 时区,即北京时间(Asia/Shanghai)
UNIX_TIMESTAMP()
返回以秒为单位的 Unix 时间戳(从 1970-01-01 00:00:00 UTC 到现今的秒数),类型为 BIGINT。默认使用 UTC+8 时区,即北京时间(Asia/Shanghai)
UNIX_TIMESTAMP(string1[, string2])
将 string1 字符串以 string2 的格式(可选,默认是 'yyyy-MM-dd HH:mm:ss')转为 Unix 时间戳,类型为 BIGINT。
TO_DATE(string1[, string2])
将 string1 字符串以 string2 的格式(可选,默认是 'yyyy-MM-dd HH:mm:ss')转为 DATE 格式。
TO_TIMESTAMP(string1[, string2])
将 string1 字符串以 string2 的格式(可选,默认是 'yyyy-MM-dd HH:mm:ss')转为 TIMESTAMP 格式。默认使用 UTC+8 时区,即北京时间(Asia/Shanghai)
NOW()
返回当前的 SQL TIMESTAMP 时间戳,时区为 UTC。


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈