zoukankan      html  css  js  c++  java
  • Flink基础(四十六):FLINK SQL(二十二) 内置函数(四)日期函数

    日期函数

    •  TO_TIMESTAMP
    •  

      语法

       
      TIMESTAMP TO_TIMESTAMP(BIGINT time)
      TIMESTAMP TO_TIMESTAMP(VARCHAR date)
      TIMESTAMP TO_TIMESTAMP(VARCHAR date, VARCHAR format)

      入参

       
      参数数据类型
      time BIGINT
       
      说明 单位为毫秒。
      date VARCHAR
       
      说明 默认格式为yyyy-MM-dd HH:mm:ss。如果您的date为非默认格式,请使用自定义函数编写Java代码进行转化,详情请参见自定义标量函数(UDF)
      format VARCHAR

      功能描述

      将BIGINT类型的日期或者VARCHAR类型的日期转换成TIMESTAMP类型。

      示例

      • 测试数据
         
        timestamp1(BIGINT)timestamp2(VARCHAR)timestamp3(VARCHAR)
        1513135677000 2017-09-15 00:00:00 20170915000000
      • 测试语句
         
        SELECT TO_TIMESTAMP(timestamp1) as var1,
         TO_TIMESTAMP(timestamp2) as var2,
         TO_TIMESTAMP(timestamp3, 'yyyyMMddHHmmss') as var3
        FROM T1;
      • 测试结果
         
        var1(TIMESTAMP)var2(TIMESTAMP)var3(TIMESTAMP)
        2017-12-13 03:27:57.0 2017-09-15 00:00:00.0 2017-09-15 00:00:00.0
    •  LOCALTIMESTAMP

    语法

     
    timestamp LOCALTIMESTAMP

    入参

    功能描述

    返回当前系统的时间戳。

    示例

    • 测试语句
       
      SELECT 
      LOCALTIMESTAMP as `result`
      FROM T1;
    • 测试结果
       
      result (TIMESTAMP)
      2018-07-27 14:04:38.998

    语法

     
    BIGINT NOW()
    BIGINT NOW(a)

    入参

     
    参数数据类型
    a INT

    功能描述

    • 未指定参数时返回当前时区时间的时间戳,单位为秒。
    • 可以在括号内输入INT类型参数作为偏移值(单位:秒),返回偏移后的时间戳。例如,now(100)返回当前时间戳加100秒的时间戳。
       
      说明 偏移值a为NULL时,NOW(a)返回值为NULL。

    示例

    • 测试数据
      表 1. T1
      a(INT)
      null
    • 测试语句
       
      SELECT 
       NOW() as now,
       NOW(100) as now_100,
       NOW(a) as now_null
      FROM T1;
    • 测试结果
       
      now(BIGINT)now_100(BIGINT)now_null(BIGINT)
      1403006911 1403007011 null

    语法

     
    TIMESTAMP CURRENT_TIMESTAMP
     
    说明 Blink 3.6.0以下版本,语法格式为TIMESTAMP CURRENT_TIMESTAMP()。

    功能描述

    返回当前UTC(GMT+0)时间戳,时间戳单位为毫秒。

    示例

    • 测试语句
       
      SELECT CURRENT_TIMESTAMP as var1
      FROM T1;
    • 测试结果
       
      var1(TIMESTAMP)
      2007-04-30 13:10:02.047

    语法

     
    VARCHAR DATE_FORMAT(TIMESTAMP time, VARCHAR to_format)
    VARCHAR DATE_FORMAT(VARCHAR date, VARCHAR to_format)
    VARCHAR DATE_FORMAT(VARCHAR date, VARCHAR from_format, VARCHAR to_format)

    入参

     
    参数数据类型
    date VARCHAR
     
    说明 默认日期格式:yyyy-MM-dd HH:mm:ss。
    time TIMESTAMP
    from_format VARCHAR
    to_format VARCHAR

    功能描述

    将字符串类型的日期从源格式转换至目标格式。第一个参数(time 或 date)为源字符串。第二个参数from_format可选,为源字符串的格式,默认为yyyy-MM-dd hh:mm:ss。第三个参数为返回日期的格式,返回值为转换格式后的字符串类型日期。如果有参数为NULL或解析错误,则返回NULL。

    示例

      • 测试数据
         
        date1(VARCHAR)datetime1(VARCHAR)nullstr(VARCHAR)
        0915-2017 2017-09-15 00:00:00 NULL

    语法

     
    BIGINT UNIX_TIMESTAMP()
    BIGINT UNIX_TIMESTAMP(VARCHAR date)
    BIGINT UNIX_TIMESTAMP(TIMESTAMP timestamp)
    BIGINT UNIX_TIMESTAMP(VARCHAR date, VARCHAR format)

    入参

     
    参数数据类型
    timestamp TIMESTAMP
    date VARCHAR
     
    说明 默认日期格式为yyyy-MM-dd HH:mm:ss
    format VARCHAR
     
    说明 默认格式为yyyy-MM-dd hh:mm:ss

    功能描述

    返回第一个参数date转换成的长整型的时间戳,单位为秒。无参数时返回当前时间的时间戳,单位为秒,与now语义相同。如果有参数为null或解析错误,返回null。

    示例

    • 测试数据
       
      nullstr(VARCHAR)
      null
    • 测试语句
       
      SELECT UNIX_TIMESTAMP() as big1,
             UNIX_TIMESTAMP(nullstr) as big2
      FROM T1;
    • 测试结果
       
      big1(BIGINT)big2(BIGINT)
      1403006911 null
  • 相关阅读:
    HutchTab
    configbody tcl tk
    initial class tcl tk
    ::dcss
    StatusBar
    read url c#
    new tab addin
    extraDevice
    Android平台开发WIFI function portingWIFI功能移植
    如何设置Android系统中的BT2.1 device到SSP的DEBUG模式
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/15000254.html
Copyright © 2011-2022 走看看