flinksql 日期格式数据总结

1、获取时间戳的函数

select unix_timestamp();

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

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

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

参考文档:

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

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值