flinksql 日期格式数据总结

1、获取时间戳的函数

select unix_timestamp();

flinksql 日期格式数据总结_第1张图片

2、获取年月日时分秒格式的数据,以下三种都是一样的

select now();
--不带括号
select current_timestamp;
--不带括号
select LOCALTIMESTAMP;

flinksql 日期格式数据总结_第2张图片

3、时间戳转换成年月日时分秒的,(ts为bigint类型)

TO_TIMESTAMP(FROM_UNIXTIME(ts / 1000, 'yyyy-MM-dd HH:mm:ss'))

例子:

select TO_TIMESTAMP(FROM_UNIXTIME(1643375174823 / 1000, 'yyyy-MM-dd HH:mm:ss'))
select TO_TIMESTAMP(FROM_UNIXTIME(cast(1643375174823 as bigint)/1000, 'yyyy-MM-dd HH:mm:ss'))

执行结果如下:
    
       EXPR$0
        2022-01-28 21:06:14.000

select DATE_FORMAT(FROM_UNIXTIME(1643375174823 / 1000), 'yyyy-MM-dd HH:mm:ss');
select DATE_FORMAT(FROM_UNIXTIME(cast(1643375174823 as bigint)/1000), 'yyyy-MM-dd HH:mm:ss');

执行结果如下:
    
       EXPR$0
        2022-01-28 21:06:14


如果直接是毫秒的则使用  DATE_FORMAT也可以
select  DATE_FORMAT(FROM_UNIXTIME(cast(1653054121 as bigint)), 'yyyyMMdd');
  EXPR$0
  20220520

4、年月日时分秒转换成时间戳,(和第一个函数式一样的):

select UNIX_TIMESTAMP('2021-08-12 18:45:59');

获得值为:1628765159


select UNIX_TIMESTAMP('2021-08-12','yy-MM-dd');

获得值为:1628697600

flinksql 日期格式数据总结_第3张图片

参考文档:

时间函数_数据湖探索 DLI_Flink SQL语法参考_Flink SQL语法参考_内置函数_华为云

你可能感兴趣的:(java,tv)