SET CURRENT TEMPORAL SYSTEM_TIME 语句

SET CURRENT TEMPORAL SYSTEM_TIME 语句用于更改 CURRENT TEMPORAL SYSTEM_TIME 特殊寄存器的值。

调用当前时间系统_时间

此语句可嵌入应用程序中或者以交互方式发出。 它是可动态准备的可执行语句。

授权使用当前时间系统_时间

不需要执行任何操作。

SET CURRENT TEMPORAL SYSTEM_TIME的语法

阅读语法图跳过可视化语法图SETCURRENT TEMPORAL SYSTEM_TIME=NULL表达式

当前时间系统的描述_时间

NULL
指定空值。
表达式
指定一个返回空值或以下内置数据类型之一的值的表达式:
  • 时间戳记
  • 字符串
  • 图形字符串

如果表达式是一个字符串或图形字符串,则必须满足以下要求:

  • 它不能是CLOB或DBCLOB。
  • 表达式的值必须是一个有效的时间戳字符串或图形字符串表示。
  • 表达的结果必须转换为 TIMESTAMP(12)。

表达式可以包含以下任何支持的运算符:

  • 常量
  • 专用寄存器
  • 可变(宿主变量、SQL参数、SQL变量或全局变量)
  • 标量函数,其参数为支持的操作数
  • CAST 规范,其中,强制类型转换操作数是受支持的操作数
  • 使用算术运算符和操作数的表达式

有关更多信息,请参阅:

当前时间系统设置说明_时间

事务
SET CURRENT TEMPORAL SYSTEM_TIME语句不是可提交操作。 ROLLBACK语句对CURRENT TEMPORAL SYSTEM_TIME没有影响。
对其他特殊登记册的影响
当前时间系统_时间特殊寄存器的设置不会影响其他特殊寄存器,例如当前日期和当前时间戳特殊寄存器。

示例:当前时间系统_时间

将特殊寄存器设置为有效值的示例
以下两个语句将当前时间系统_时间特殊寄存器设置为“ 2008-01-06-00.00.00.000000000000 ”。
SET CURRENT TEMPORAL SYSTEM_TIME = TIMESTAMP('2008-01-01') + 5 DAYS;
SET CURRENT TEMPORAL SYSTEM_TIME = '2008-01-06-00.00.00.000000000000';
设置特殊寄存器使其不影响后续SQL语句的示例
以下语句将当前时间系统_时间特殊寄存器设置为空值。 后续引用系统周期临时表的SQL语句不受CURRENT TEMPORAL SYSTEM_TIME特殊寄存器的影响。
SET CURRENT TEMPORAL SYSTEM_TIME = NULL