Flink基础(59):FLINK-SQL函数(22) 内置函数(17)日期函数(四)

语法

TIMESTAMP TIMESTAMPADD(interval,INT int_expr,TIMESTAMP datetime_expr)
DATE TIMESTAMPADD(interval,INT int_expr,DATE datetime_expr)       

入参

 
参数数据类型
interval VARCHAR
int_expr INT
datetime_expr TIMESTAMP或DATE
interval可取值如下。
 
interval参数时间间隔单位
FRAC_SECOND 毫秒
SECOND
MINUTE 分钟
HOUR 小时
DAY
WEEK 星期
MONTH
QUARTER 季度
YEAR

功能描述

返回类型与datetime_expr类型相同。

将整型表达式int_expr添加日期或日期时间到表达式datetime_expr中,返回会话时区中的当前时间(数据类型TIME的值)。

示例

  • 测试数据
     
    a(TIMESTAMP)b(DATE)
    2018-07-09 10:23:56 1990-02-20
  • 测试语句
     
    SELECT 
    TIMESTAMPADD(HOUR,3,a) AS `result1`
    TIMESTAMPADD(DAY,3,b) AS `result2`
    FROM T1;
  • 测试结果
     
    result1(TIMESTAMP)result2(DATE)
    2018-07-09 13:23:56.0 1990-02-23

语法

 
BIGINT EXTRACT(unit FROM time)

入参

 
参数数据类型
time 任意日期表达式。
unit 可取值如下:
  • MICROSECOND
  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
  • SECOND_MICROSECOND
  • MINUTE_MICROSECOND
  • MINUTE_SECOND
  • HOUR_MICROSECOND
  • HOUR_SECOND
  • HOUR_MINUTE
  • DAY_MICROSECOND
  • DAY_SECOND
  • DAY_MINUTE
  • DAY_HOUR
  • YEAR_MONTH

功能描述

返回日期/时间的单独部分,例如年、月、日、小时、分钟、周数等。

示例

  • 测试语句
     
    EXTRACT(YEAR FROM CURRENT_TIMESTAMP) AS OrderYear,
    EXTRACT(MONTH FROM CURRENT_TIMESTAMP) AS OrderMonth,
    EXTRACT(DAY FROM CURRENT_TIMESTAMP) AS OrderDay,
    EXTRACT(WEEK FROM CURRENT_TIMESTAMP) AS OrderWeek    
  • 测试结果
     
    OrderYear(BIGINT)OrderMonth(BIGINT)OrderDay(BIGINT)OrderWeek(BIGINT)
    2018 10 11 41

语法

 
TIME LOCALTIME

功能描述

以数据类型TIME的值返回会话时区中的当前时间。LOCALTIME可当变量直接使用。

示例

  • 测试语句
     
    SELECT LOCALTIME as `result`
    FROM T1;      
  • 测试结果
     
    result(TIME)
    19:00:47

语法

 
CURRENT_DATE  

功能描述

返回当前系统日期。

示例

  • 测试语句
     
    SELECT CURRENT_DATE as res
    FROM T1;            
  • 测试结果
     
    res(DATE)
    2018-09-20

本文来自博客园,作者:秋华,转载请注明原文链接:https://www.cnblogs.com/qiu-hua/p/15058757.html

原文地址:https://www.cnblogs.com/qiu-hua/p/15058757.html