Netezza日期功能无法正常工作

时间:2015-12-08 16:51:10

标签: datetime netezza

为什么这两个都返回0?

从_v_dual

中选择提取(从日期开始的日期(' 08DEC2015') - current_timestamp)

从_v_dual

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

今天是美国东部时间8月20日上午1点50分,我写这篇文章。

1 个答案:

答案 0 :(得分:1)

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值。顺便说一句,请注意"来自_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)