更新时间:2024-12-11 GMT+08:00

FlinkSQL Function增强

本章节适用于MRS 3.5.0及以后版本。

DATE_ADD函数

DATE_ADD函数用于返回指定日期增加目标天数后的日期。

  • 参数说明
    • 指定日期:数据类型为TIMESTAMP或者STRING(格式为:yyyy-MM-dd HH:mm:ss),支持参数为NULL的特殊情况。
    • 目标天数:数据类型为INT。
    • 返回日期:指定日期增加目标天数后的日期,数据类型为STRING。
  • SQL示例
    CREATE TABLE source (
      time1 TIMESTAMP
    ) WITH (
      'connector' = 'datagen',
      'rows-per-second' = '1'
    );
    create table Sink (
      date1 string,
      date2 string,
      date3 string
    ) with ('connector' = 'print');
    INSERT into
      Sink
    select
      DATE_ADD(time1, 30) as date1,
      DATE_ADD('2017-09-15 00:00:00', 30) as date2,
      DATE_ADD(cast(null as timestamp),30) as date3
    FROM source
    表1 返回结果

    date1 (string)

    date2 (string)

    date3 (string)

    2024-06-28

    2017-10-15

    null

DATE_SUB函数

DATE_SUB函数用于返回指定日期减去目标天数后的日期。

  • 参数说明
    • 指定日期:数据类型为TIMESTAMP或者STRING(格式为:yyyy-MM-dd HH:mm:ss),支持参数为NULL的特殊情况。
    • 目标天数:数据类型为INT。
    • 返回日期:指定日期减去目标天数后的日期,数据类型为STRING。
  • SQL示例
    CREATE TABLE source (
      time1 TIMESTAMP
    ) WITH (
      'connector' = 'datagen',
      'rows-per-second' = '1'
    );
    create table Sink (
      date1 string,
      date2 string,
      date3 string
    ) with ('connector' = 'print');
    INSERT into
      Sink
    select
      DATE_SUB(time1,30) as date1,
      DATE_SUB('2017-09-15 00:00:00', 30) as date2,
      DATE_SUB(cast(null as timestamp),30) as date3
    FROM source
    表2 返回结果

    date1 (string)

    date2 (string)

    date3 (string)

    2024-04-29

    2017-08-16

    null