7. [Flink]FlinkSQL时间处理函数
7.1. 前言
FlinkSQL官网的SQL 关于时间处理的Functions的介绍
7.2. Examples
字符串日期转换成时间戳
SELECT TO_TIMESTAMP('2022-09-06', 'yyyy-MM-dd') AS tim;
时间戳日期转换成字符串日期
SELECT DATE_FORMAT(NOW(), 'yyyy-MM-dd') AS dt;
获取明天的日期
SELECT DATE_FORMAT(TIMESTAMPADD(DAY, 1, CURRENT_TIMESTAMP), 'yyyy-MM-dd') AS tomorrow;
获取任意日期的次日
SELECT DATE_FORMAT(TIMESTAMPADD(DAY, 1, TO_TIMESTAMP('2022-01-01','yyyy-MM-dd')), 'yyyy-MM-dd') AS tomorrow;
对任意日期加任意天
SELECT DATE_FORMAT(TIMESTAMPADD(DAY, ${days}, TO_TIMESTAMP(${date},'yyyy-MM-dd')), 'yyyy-MM-dd') AS tomorrow;
任意日期加一周
SELECT DATE_FORMAT(TIMESTAMPADD(WEEK, 1, TO_TIMESTAMP('2022-01-01','yyyy-MM-dd')), 'yyyy-MM-dd') AS dt;
任意日期加一个月
SELECT DATE_FORMAT(TIMESTAMPADD(MONTH, 1, TO_TIMESTAMP('2022-01-01','yyyy-MM-dd')), 'yyyy-MM-dd') AS dt;
任意日期加一年
SELECT DATE_FORMAT(TIMESTAMPADD(YEAR, 1, TO_TIMESTAMP('2022-01-01','yyyy-MM-dd')), 'yyyy-MM-dd') AS dt;
获取指定日期所属月份的最后一天
可实现,较繁琐
获取指定日期所属月份的第一天
可实现,较繁琐