TRUNC_TIMESTAMP 标量函数
TRUNC_TIMESTAMP 标量函数返回一个 TIMESTAMP ,该 TIMESTAMP 是截断为另一个自变量 (format-string) 指定的单位的自变量 (expression)。
该模式是 SYSIBM。
如果未指定 format-字符串 ,那么 表达式 将截断为最接近的日期,就像为 format-字符串指定了 'DD' 一样。
- expression
- 返回值 以下内置数据类型之一:DATE 或 TIMESTAMP。 的表达式
- format-string
- 返回一个实际长度不大于 255 bytes的内置字符串数据类型的表达式。 format-string 中的 format 元素指定应如何截断 expression 。 例如,如果 format-string 为 'DD',那么 expression 表示的时间戳记将截断为最接近的日期。 从字符串中除去前导空格和尾部空格,结果子串必须是时间戳记的有效格式元素 (SQLSTATE 22007)。 缺省值为 'DD'。
format-string 的允许值列示在 ROUND 函数描述中的格式元素表中。
- locale-name
- 一个字符常量,用于指定使用格式模型值 DAY、DY 或 D 时用于确定一周第一天的语言环境。 语言环境名称 的值不区分大小写,并且必须是有效的语言环境 (SQLSTATE 42815)。 有关有效语言环境及其命名的信息,请参阅
SQL 和 XQuery 的语言环境名称
。 如果未指定 locale-name ,那么将使用专用寄存器 CURRENT LOCALE LC_TIME 的值。该函数的结果是具有与 表达式相同的时间戳记精度的 TIMESTAMP。 结果可以为空; 如果任何自变量为空,那么结果为空值。
该函数的结果是 TIMESTAMP ,其时间戳记精度为:
- p (当表达式的数据类型为 TIMESTAMP (p) 时)
- 0 (当表达式的数据类型为 DATE 时)
- 6 否则
注意
- 确定性: TRUNC_TIMESTAMP 是确定性函数。 但是,函数的以下调用取决于专用寄存器 CURRENT LOCALE LC_TIME 的值。
- 当未显式指定 locale-name 并且下列其中一项为 true 时,截断日期或时间戳记值:
- format-string 不是常量
- format-string 是一个常量,并且包含语言环境敏感的格式元素
- 当未显式指定 locale-name 并且下列其中一项为 true 时,截断日期或时间戳记值:
示例
设置主变量 TRNK_TMSTMP ,将当前年份舍入为最接近的年份值。
SET :TRNK_TMSTMP = TRUNC_TIMESTAMP('2000-03-14-17.30.00', 'YEAR'); 主变量 TRNK_TMSTMP 设置为值 2000-01-01-00.00.00.000000。