如何将 Netezza 中的日期从时间戳格式转换为 yyyymmdd?
问问题
92698 次
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 回答