TIMESTAMP
TIMESTAMP 函数从其自变量返回时间戳记。
- expression-1 和 expression-2
自变量的规则取决于是否指定了第二个自变量以及第二个自变量的数据类型。
- 如果仅指定了 expression-1 :自变量必须是返回以下某个内置数据类型的值的表达式: a date , 时间戳记,字符串或图形字符串。 如果 expression-1 是字符或图形字符串,那么其值必须是下列其中一项:
- 日期或 时间戳记的有效字符串表示。 有关 日期和 时间戳记的字符串表示的有效格式,请参阅 日期时间值的字符串表示。
- 实际长度为 13 的字符串,假定是 GENERATE_UNIQUE 函数的结果。 有关 GENERATE_UNIQUE 的信息,请参阅 GENERATE_UNIQUE。
- 如果同时指定了这两个参数:
- 如果第二个自变量是 expression-2:
第一个自变量必须是返回以下某个内置数据类型的值的表达式: 日期,字符串或图形字符串。 如果 expression-1 是字符或图形字符串,那么其值必须是日期的有效字符串表示。
expression-2 必须是返回以下某个内置数据类型的值的表达式: 时间,字符串或图形字符串。 如果 expression-2 是字符或图形字符串,那么其值必须是时间的有效字符串表示。 有关日期和时间的字符串表示的有效格式,请参阅 日期时间值的字符串表示。
- 如果第二个自变量是 precision-constant:第一个自变量必须是返回以下某个内置数据类型的值的表达式: 日期,时间戳记,字符串或图形字符串。 如果 expression-1 是字符或图形字符串,那么其值必须是下列其中一项:
- 日期或 时间戳记的有效字符串表示。 有关日期和时间戳记的字符串表示的有效格式,请参阅 日期时间值的字符串表示。
- 实际长度为 13 的字符串,假定是 GENERATE_UNIQUE 函数的结果。 有关 GENERATE_UNIQUE 的信息,请参阅 GENERATE_UNIQUE。
- 如果第二个自变量是 expression-2:
- 如果仅指定了 expression-1 :
- 精度常量
- 表示小数秒数的整数常量。 该值必须在 0 到 12 的范围内。
函数的结果是时间戳记。 如果任一自变量可以为空,那么结果可以为空; 如果任一自变量为空,那么结果为空值。
其他规则取决于是否指定了第二个自变量:
- 如果同时指定了两个自变量 ,并且第二个自变量是 expression-2:
结果是 TIMESTAMP (6) ,其中包含第一个自变量指定的日期和第二个自变量指定的时间。 时间戳记的 小数秒 部分为零。
- 如果同时指定了两个自变量,并且第二个自变量是 precision-constant:
结果是具有第二个参数指定的精度的时间戳记。
- 如果只指定了一个自变量并且它是 TIMESTAMP (p):
结果为 TIMESTAMP (p)。
- 如果仅指定了一个自变量并且它是 DATE:
结果是该日期的假定时间为午夜强制转换为 TIMESTAMP (0)。
- 如果仅指定了一个自变量并且它是字符串:
结果是该字符串表示的 TIMESTAMP (6) 。 如果自变量是长度为 14 的字符串,那么时间戳记的小数秒数部分为零。
注
语法替代方法: 仅指定一个自变量时,应使用 CAST 规范来提高应用程序的可移植性。 有关更多信息,请参阅 CAST 规范。
示例
- 假定以下日期和时间值:
返回值 "1988-12-25-17.12.30.000000"。SELECT TIMESTAMP( DATE('1988-12-25'), TIME('17.12.30') ) FROM SYSIBM.SYSDUMMY1
- 将具有 7 位小数秒的时间戳记字符串转换为 TIMESTAMP (9) 值。
返回值 "2007-09-24-15.53.37.216247400"。TIMESTAMP('2007-09-24-15.53.37.2162474', 9)
