10

如何将 Netezza 中的日期从时间戳格式转换为 yyyymmdd?

4

2 回答 2

17

使用以下查询转换为日期格式。

select TO_CHAR( DATE '2009-12-23 23:45:58','YYYY-MM-DD')

或者

select TO_CHAR(TO_DATE( '2009-12-23 23:45:58','YYYY-MM-DD HH24:MI:SS'),'YYYY-MM-DD')

或者

select TO_CHAR(current_timestamp,'YYYY-MM-DD')
于 2010-09-14T12:40:59.187 回答
2

Netezza 具有内置功能,只需使用:

SELECT DATE(STATUS_DATE) AS DATE,
       COUNT(*) AS NUMBER_OF_             
FROM X
GROUP BY DATE(STATUS_DATE)
ORDER BY DATE(STATUS_DATE) ASC

这将只返回时间戳的日期部分,并且比使用“TO_CHAR()”将其转换为字符串更有用,因为它将在 GROUP BY、HAVING 和其他 netezza 日期函数中工作。(因为 TO_CHAR 方法不会)

此外,DATE_TRUNC() 函数将从时间戳(“日”、“月”、“年”等)中提取特定值,但不超过其中一个,没有多个函数并连接。

DATE() 是对此问题的完美而简单的答案,我很惊讶在 Stack 上看到这么多对这个问题的误导性答案。我经常看到 TO_DATE,这是 Oracle 的功能,但不适用于 Netezza。

于 2015-02-10T19:58:11.263 回答