Netezza 日期功能无法正常工作

Netezza date function not working properly

为什么这两个都返回 0?

select 从 _v_dual

中提取(日期('08DEC2015')- current_timestamp)

select 从 _v_dual

中提取(日期('09DEC2015')- current_timestamp)

今天是美国东部时间 2015 年 12 月 8 日上午 11:50。

DATE 函数工作正常。 DAY 的 EXTRACT 返回零,因为在这两种情况下,当您从硬编码日期函数中减去 current_timestamp 时返回的间隔小于一天。

TESTDB.ADMIN(ADMIN)=> select date('08DEC2015') - current_timestamp;
 ?COLUMN?
-----------
 -15:30:12
(1 row)

TESTDB.ADMIN(ADMIN)=> select date('09DEC2015') - current_timestamp;
 ?COLUMN?
----------
 08:29:42
(1 row)

如果间隔大于 24 小时,则将从表达式中提取非零 DAY 值。另外,请注意 "from _v_dual" 对于 Netezza 中的 SELECT 是不必要的。

TESTDB.ADMIN(ADMIN)=> select date('10DEC2015') - current_timestamp;
    ?COLUMN?
----------------
 1 day 08:26:11
(1 row)

TESTDB.ADMIN(ADMIN)=> select EXTRACT (DAY FROM date('10DEC2015') - current_timestamp);
 DATE_PART
-----------
         1
(1 row)