SYSDATE 运算符

SYSDATE 运算符从系统时钟返回当前的 DATETIME 值。SYSDATECURRENT 运算符是相同的,除了 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);
        
下列查询访问在前面的示例中创建了的表:
SELECT SYSDATE AS sysdate, * FROM tab1;
        
当发出 INSERT 和 SELECT 语句时,结果对日期和时间是灵敏的,但在 2007 年 9 月 23 日该查询可能返回这些值:
sysdate  2007-09-23 21:30:23.00000
          id       1
          value    description
          time1    2007-09-23 21:29:27.00000
          time2    2007-09-23 21:29:27
        
下一查询访问同一表,使用 WHERE 子句中的 SYSDATE 作为 DAY 函数的一个参数:
SELECT *, DAY(time1) AS day FROM tab1 
          WHERE DAY(time1) = DAY(SYSDATE);
在 2007 年 9 月 23 日,该查询可能返回这些值:
id       1
        value    description
        time1    2007-09-23 21:29:27.00000
        time2    2007-09-23 21:29:27
        day      23
      

GBase 8s 支持 SYSDATE。除了它的名称和它的缺省精度之外,在本文档中 CURRENT 运算符的描述也适用于 SYSDATE 运算符。