web-dev-qa-db-ja.com

Netezzaの日付をタイムスタンプ形式からyyyymmddに変換する方法

Netezzaの日付をタイムスタンプ形式からyyyymmddに変換する方法

9

以下のクエリを使用して、日付形式に変換します。

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')
15
user447151

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()関数は、タイムスタンプから特定の値(「日」、「月」、「年」など)をプルしますが、複数の関数を使用せずにこれらの値を1つだけプルして連結します。

DATE()はこれに対する完璧で単純な答えであり、この質問に対する多くの誤解を招く答えがStackにあることに驚いています。 TO_DATEがよく見られます。これはOracleの機能ですが、Netezzaでは機能しません。

1
thagraybush