DATE 标量函数

DATE 函数返回值中的日期。

Read syntax diagramSkip visual syntax diagramDATE(expression)

该模式是 SYSIBM。

基于 TIMESTAMP (0) 的 DATE 数据类型中描述了 DATE 与 Oracle 应用程序的 Db2® 兼容性功能部件的特殊行为。

expression
返回下列其中一个内置数据类型的值的表达式 :DATE , TIMESTAMP ,数字或不是 CLOB 的字符串。

具有数字数据类型的值必须是整数值小于或等于 3 652 059 的正数。

字符串必须是日期或时间戳记的有效字符串表示或长度为 7 的字符串。 如果值是长度为 7 的字符串,那么它必须表示格式为 伊伊因恩 的有效日期,其中 yyyy 是表示一年的数字, 恩恩 是表示该年的某一天的 001 到 366 之间的数字。

在 Unicode 数据库中,如果表达式返回图形字符串数据类型的值,那么首先会将该值转换为字符串,然后再执行该函数。

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

其他规则取决于参数的数据类型:
  • 如果自变量是日期或时间戳记的 DATE , TIMESTAMP 或有效字符串表示:
    • 结果是值的日期部分。
  • 如果自变量是数字:
    • 结果是 n-1 天后的日期 1 , 0001 ,其中 n 是数字的整数部分。
  • 如果自变量是长度为 7 的字符串:
    • 结果是字符串表示的日期。

示例

假定列 RECEIVED (其数据类型为 TIMESTAMP) 具有等同于 "1988-12-25-17.12.30.000000" 的内部值。
  • 示例 1: 此示例生成 "1988-12-25" 的内部表示。
       DATE(RECEIVED)
  • 示例 2: 此示例生成 "1988-12-25" 的内部表示。
       DATE('1988-12-25')
  • 示例 3: 此示例生成 "1988-12-25" 的内部表示。
       DATE('25.12.1988')
  • 示例 4: 此示例生成内部表示 "0001-02-04"。
       DATE(35)