gpt4 book ai didi

sql - 如何使用 Netezza 将日期时间转换为日期

转载 作者:行者123 更新时间:2023-12-04 22:41:06 26 4
gpt4 key购买 nike

我正在做一些计算,但我的计算已关闭,因为我的日期字段显示时间戳,我只想在我进行计算时将其用作日期。我如何在计算时忽略分钟而只使用日期?这是我所拥有的:

SELECT EF.DSCH_TS,
CASE WHEN EXTRACT (DAY FROM EF.DSCH_TS - EF.ADMT_TS)>=0 THEN 'GroupA' END AS CAL
FROM MainTable EF;

最佳答案

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 .

对于您的查询,假设您对两个时间戳的午夜到午夜之间的日子感兴趣,它看起来像这样:
SELECT EF.DSCH_TS,
CASE
WHEN EXTRACT (DAY FROM (DATE(EF.DSCH_TS) - DATE(EF.ADMT_TS)))>=0 THEN 'GroupA'
END AS CAL
FROM MainTable EF;

关于sql - 如何使用 Netezza 将日期时间转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21392490/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com