日期

DATE 函数返回值中的日期。

读取语法图跳过可视语法图DATE (表达式)
表达式
返回下列其中一种内置数据类型的值的表达式: 日期,时间戳记,字符串,图形字符串或任何数字数据类型。
  • 如果 expression 是字符或图形字符串,那么其值必须是下列其中一项:
    • 日期或时间戳记的有效字符串表示。 有关日期和时间戳记的字符串表示的有效格式,请参阅 日期时间值的字符串表示
    • 实际长度为 7 的字符串,表示格式为 yyyynnn的有效日期,其中 yyyy 是表示年份的数字。 nnn 是 001 到 366 之间的数字,表示该年的某一天。
  • 如果 expression 是数字,那么它必须是小于或等于 3 652 059 的正数。

函数的结果是日期。 如果自变量可以为空,那么结果可以为空; 如果自变量为空,那么结果为空值。

其他规则取决于参数的数据类型:

  • 如果自变量是时间戳记:

    结果是时间戳记的日期部分。

  • 如果自变量是日期:

    结果是该日期。

  • 如果自变量是数字:

    结果是 n-1 天后的日期 1 , 0001 ,其中 n 是数字的整数部分。

  • 如果自变量是字符或图形字符串:

    结果是字符串表示的日期或字符串表示的时间戳记值的日期部分。

语法替代方法: 当参数为日期,时间戳记或字符串时,应使用 CAST 规范来提高应用程序的可移植性。 有关更多信息,请参阅 CAST 规范

示例

  • 假定列 RECEIVED (TIMESTAMP) 具有等同于 "1988-12-25-17.12.30.000000" 的内部值。
       SELECT DATE(RECEIVED)
         FROM IN_TRAY
         WHERE SOURCE = 'BADAMSON'

    生成值为 "1988-12-25" 的日期数据类型。

  • 以下 DATE 标量函数应用于日期的 ISO 字符串表示:
      SELECT DATE('1988-12-25')
        FROM SYSIBM.SYSDUMMY1

    生成值为 "1988-12-25" 的日期数据类型。

  • 以下 DATE 标量函数应用于日期的 EUR 字符串表示:
      SELECT DATE('25.12.1988')
        FROM SYSIBM.SYSDUMMY1

    生成值为 "1988-12-25" 的日期数据类型。

  • 以下 DATE 标量函数应用于正数:
      SELECT DATE(35)
        FROM SYSIBM.SYSDUMMY1

    生成值为 "0001-02-04" 的日期数据类型。