admin管理员组

文章数量:1612060

SYSDATE 是仅用于 DATETIME 变量的有效缺省值。如果 YEAR TO FRACTION(5) 是其声明的精度,则不需要限定符。否则,当 SYSDATE 是缺省值时必须指定相同的 DATETIME 限定符。

CURRENT 是仅用于 DATETIME 变量的有效缺省值。如果 YEAR TO FRACTION(3) 是其声明的精度,则不需要限定符。否则,当 CURRENT 是缺省值时必须指定相同的 DATETIME 限定符

使用 TODAY 运算符来返回系统日期作为 DATE 数据类型。如果您指定 TODAY 作为缺省的列值,则该列必须为 DATE 列。

下列示例展示您可以在 INSERT、UPDATE 或 SELECT 语句中如何使用 TODAY 运算符:

UPDATE orders (order_date) SET order_date = TODAY WHERE order_num = 1005;

INSERT INTO orders VALUES (0, TODAY, 120, NULL, N, ‘1AUE217’, NULL, NULL, NULL, NULL);

SELECT * FROM orders WHERE ship_date = TODAY;

CURRENT 运算符返回带有今日的日期和时间的 DATETIME 值,展示当前时刻。

如果您未指定 DATETIME 限定符,则缺省的限定符为 YEAR TO FRACTION(3)。当数据库服务器从操作系统获取当前时间时,USEOSTIME 配置参数指定它是否使用亚秒精度。要获取更多关于 USEOSTIME 配置参数的信息,请参阅您的 GBase 8s 管理员参考手册。

您可在字面 DATETIME 为有效的任何上下文中使用 CURRENT。(请参阅 文字的 DATETIME)。如果您指定 CURRENT 作为列的缺省值,则它必须为 DATETIME 列且 CURRENT 的限定符必须与列限定符相匹配,如下列示例所示:

CREATE TABLE new_acct (col1 INT, col2 DATETIME YEAR TO DAY

DEFAULT CURRENT YEAR TO DAY);

SYSDATE 运算符从系统时钟返回当前的 DATETIME 值。SYSDATE 与 CURRENT 运算符是相同的,除了 SYSDATE 的缺省精度是 YEAR TO FRACTION(5),而 CURRENT 的缺省精度是 YEAR TO FRACTION(3)。

在不支持 seconds 范围大于 FRACTION(3) 的 Windows™ 平台上,SYSDATE 实际上是 CURRENT 运算符的同义词。

您可在 CURRENT 运算符有效的任何上下文中使用 SYSDATE。

在下列示例中的 SQL 语句使用 SYSDATE 运算符来为数据库的两个 DATETIME 列指定缺省值,并将新行插入到该表内:

CREATE TABLE tab1 (

      id SERIAL,

      value CHAR(20),

      time1 DATETIME YEAR TO FRACTION(5) DEFAULT SYSDATE,

      time2 DATETIME YEAR TO SECOND DEFAULT SYSDATE YEAR TO SECOND

      );

INSERT INTO tab1 VALUES (0, ‘description’, SYSDATE, SYSDATE);

本文标签: 函数SYSDATEGbaseTODAYCurrent