• Flink基础(58):FLINK-SQL函数(21)内置函数(16)日期函数(三)


    语法

    BIGINT WEEK(DATE date)
    BIGINT WEEK(TIMESTAMP timestamp)

    入参

     
    参数数据类型
    date DATE
    timestamp TIMESTAMP

    功能描述

    计算指定日期在一年中的第几周,周数取值区间1~53。

    示例

    • 测试数据
       
      dateStr(VARCHAR)date1(DATE)ts1(TIMESTAMP)
      2017-09-15 2017-11-10 2017-10-15 00:00:00
    • 测试语句
       
      SELECT WEEK(TIMESTAMP '2017-09-15 00:00:00') as int1,
       WEEK(date1) as int2,
       WEEK(ts1) as int3,
       WEEK(CAST(dateStr AS DATE)) as int4
      FROM T1;
    • 测试结果
       
      int1(BIGINT)int2(BIGINT)int3(BIGINT)int4(BIGINT)
      37 45 41 37

    语法

    BIGINT YEAR(TIMESTAMP timestamp)
    BIGINT YEAR(DATE date)

    入参

     
    参数数据类型
    date DATE
    timestamp TIMESTAMP

    功能描述

    返回输入时间的年份。

    示例

    • 测试数据
       
      tsStr(VARCHAR)dateStr(VARCHAR)tdate(DATE)ts(TIMESTAMP)
      2017-10-15 00:00:00 2017-09-15 2017-11-10 2017-10-15 00:00:00
    • 测试语句
       
      SELECT YEAR(TIMESTAMP '2016-09-15 00:00:00') as int1,
       YEAR(DATE '2017-09-22') as int2,
       YEAR(tdate) as int3,
       YEAR(ts) as int4,
       YEAR(CAST(dateStr AS DATE)) as int5,
       YEAR(CAST(tsStr AS TIMESTAMP)) as int6
      FROM T1;          
    • 测试结果
       
      int1(BIGINT)int2(BIGINT)int3(BIGINT)int4(BIGINT)int5(BIGINT)int6(BIGINT)
      2016 2017 2017 2017 2015 2017

    语法

    BIGINT MONTH(TIMESTAMP timestamp) 
    BIGINT MONTH(DATE date)

    入参

     
    参数数据类型
    time TIME
    timestamp TIMESTAMP

    功能描述

    返回输入时间参数中的月,范围1~12。

    示例

    • 测试数据
       
      a(TIMESTAMP)b(DATE)
      2016-09-15 00:00:00 2017-10-15
    • 测试语句
       
      SELECT
       MONTH(cast( a as TIMESTAMP)) as int1,
       MONTH(cast( b as DATE)) as int2
      FROM T1;     
    • 测试结果
       
      int1(BIGINT)int2(BIGINT)
      9 10

    语法

    BIGINT HOUR(TIME time)
    BIGINT HOUR(TIMESTAMP timestamp)    

    入参

     
    参数数据类型
    time TIME
    timestamp TIMESTAMP

    功能描述

    返回输入时间参数time或timestamp中的24小时制的小时数,范围0~23。

    示例

    • 测试数据
       
      datetime1(VARCHAR)time1(VARCHAR)time2(TIME)timestamp1(TIMESTAMP)
      2017-10-15 11:12:13 22:23:24 22:23:24 2017-10-15 11:12:13
    • 测试语句
       
      SELECT HOUR(TIMESTAMP '2016-09-20 23:33:33') AS int1,
       HOUR(TIME '23:30:33') AS int2,
       HOUR(time2) AS int3,
       HOUR(timestamp1) AS int4,
       HOUR(CAST(time1 AS TIME)) AS int5,
       HOUR(TO_TIMESTAMP(datetime1)) AS int6
      FROM T1;              
    • 测试结果
       
      int1(BIGINT)int2(BIGINT)int3(BIGINT)int4(BIGINT)int5(BIGINT)int6(BIGINT)
      23 23 22 11 22 11

    语法

    BIGINT DAYOFMONTH(TIMESTAMP time)
    BIGINT DAYOFMONTH(DATE date)

    入参

     
    参数数据类型
    date DATE
    time TIMESTAMP

    功能描述

    返回输入时间参数date或time中所指代的“日”。返回值范围为1~31。

    示例

    • 测试数据
       
      tsStr(VARCHAR)dateStr(VARCHAR)tdate(DATE)ts(TIMESTAMP)
      2017-10-15 00:00:00 2017-09-15 2017-11-10 2017-10-15 00:00:00
    • 测试语句
       
      SELECT DAYOFMONTH(TIMESTAMP '2016-09-15 00:00:00') as int1,
       DAYOFMONTH(DATE '2017-09-22') as int2,
       DAYOFMONTH(tdate) as int3,
       DAYOFMONTH(ts) as int4,
       DAYOFMONTH(CAST(dateStr AS DATE)) as int5,
       DAYOFMONTH(CAST(tsStr AS TIMESTAMP)) as int6
      FROM T1; 
    • 测试结果
       
      int1(BIGINT)int2(BIGINT)int3(BIGINT)int4(BIGINT)int5(BIGINT)int6(BIGINT)
      15 22 10 15 15 15

    语法

    BIGINT MINUTE(TIME time) 
    BIGINT MINUTE(TIMESTAMP timestamp)

    入参

     
    参数数据类型
    time TIME
    timestamp TIMESTAMP

    功能描述

    返回输入时间参数中time或timestamp中的“分钟”部分。取值范围0~59。

    示例

    • 测试数据
       
      datetime1(VARCHAR)time1(VARCHAR)time2(TIME)timestamp1(TIMESTAMP)
      2017-10-15 11:12:13 22:23:24 22:23:24 2017-10-15 11:12:13
    • 测试语句
       
      SELECT MINUTE(TIMESTAMP '2016-09-20 23:33:33') as int1,
       MINUTE(TIME '23:30:33') as int2,
       MINUTE(time2) as int3,
       MINUTE(timestamp1) as int4,
       MINUTE(CAST(time1 AS TIME)) as int5,
       MINUTE(CAST(datetime1 AS TIMESTAMP)) as int6
      FROM T1;
    • 测试结果
       
      int1(BIGINT)int2(BIGINT)int3(BIGINT)int4(BIGINT)int5(BIGINT)int6(BIGINT)
      33 30 23 12 23 12

    语法

    BIGINT SECOND(TIMESTAMP timestamp)
     BIGINT SECOND(TIME time)    

    入参

     
    参数数据类型
    time TIME
    timestamp TIMESTAMP

    功能描述

    返回输入时间参数中的“秒”部分,范围0~59。

    示例

    • 测试数据
       
      datetime1(VARCHAR)time1(VARCHAR)time2(TIME)timestamp1(TIMESTAMP)
      2017-10-15 11:12:13 22:23:24 22:23:24 2017-10-15 11:12:13
    • 测试语句
       
      SELECT SECOND(TIMESTAMP '2016-09-20 23:33:33') as int1,
       SECOND(TIME '23:30:33') as int2,
       SECOND(time2) as int3,
       SECOND(timestamp1) as int4,
       SECOND(CAST(time1 AS TIME)) as int5,
       SECOND(CAST(datetime1 AS TIMESTAMP)) as int6
      FROM T1;   
    • 测试结果
       
      int1(BIGINT)int2(BIGINT)int3(BIGINT)int4(BIGINT)int5(BIGINT)int6(BIGINT)
      33 33 24 13 24 13

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

  • 相关阅读:
    操作系统(生产者、消费者问题)
    Hibernate——离线查询
    计算机网络(物理层习题)
    Mysql(笛卡尔积、等值连接、自然连接、外连接)
    vim文本编辑器——文件导入、命令查找、导入命令执行结果、自定义快捷键、ab命令、快捷键的保存
    vim文本编辑器——替换、保存退出
    CT107D电路解析
    vim文本编辑器——删除、复制、剪切、更改某一个字符、替换、撤销、关键字搜索
    文本编辑器vim——三种模式、显示行号、插入命令、行快速定位、行内定位
    关机、重启、退出登录命令
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/15058754.html
Copyright © 2020-2023  润新知