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

DATE() はこれに対する完璧でシンプルな答えであり、スタックに関するこの質問に対する誤解を招くような答えが非常に多くあることに驚いています。TO_DATE をよく見かけます。これは Oracle の関数ですが、Netezza では機能しません。

于 2015-02-10T19:58:11.263 に答える