2010-06-30 12 views

Antwort

12

Verwenden Sie die folgenden Anfragen an yyyymmdd bisher Format zu konvertieren.

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

oder

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

oder

select TO_CHAR(current_timestamp,'YYYY-MM-DD') 
1

Netezza hat integrierte Funktion für diese, indem Sie einfach mit:

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

Dies wird wieder nur das Datum Teil der Zeitstempel und viel nützlicher t han, um es mit "TO_CHAR()" in eine Zeichenkette umzuwandeln, da es in GROUP BY, HAVING und mit anderen Netezza-Datumsfunktionen funktioniert. (Wo die TO_CHAR-Methode nicht funktioniert)

Die Funktion DATE_TRUNC() zieht außerdem einen bestimmten Wert aus dem Zeitstempel ('Tag', 'Monat', 'Jahr' usw.), aber nicht mehr als einen von diese ohne Mehrfachfunktionen und verketten.

DATE() ist die perfekte und einfache Antwort auf dieses und ich bin überrascht, so viele irreführende Antworten auf diese Frage auf Stack zu sehen. Ich sehe oft TO_DATE, was die Funktion von Oracle ist, aber nicht auf Netezza funktioniert.

+0

Gleiche Antwort dreimal? – pajaja

Verwandte Themen