2009-04-02 5 views
4

Welche String-Darstellung für ein Date und/oder DateTime würde bei verschiedenen SQL-Dialekten höchstwahrscheinlich korrekt interpretiert? Gibt es einen SQL-Standard? Sind die beiden Antworten identisch oder ähnlich?Das meiste portable SQL-Datumszeichenfolgeformat

EDIT:

Für Anregungen, können wir alle einen Kommentar bitte mit irgendwelchen bekannten SQL-Dialekte, die nicht entsprechen?

Antwort

7

Ich würde wetten, dass der ISO 8601 Datum-Zeit-Standard wahrscheinlich der eine sein würde.

'YYYY-MM-DDThh: mm: ssZZZ'

Oder vielleicht eine leichte Variation:

'YYYY-MM-DD hh: mm: ss'

http://www.w3.org/TR/NOTE-datetime

+0

Dieses Format wird von DB2, MS SQL, MySQL und PostgreSQL akzeptiert, nicht jedoch von Oracle oder Teradata. –

2

Wenn Sie über Datenbanken hinweg portierbar sein wollen, sollten Sie vielleicht überlegen, alles mit etwas wie ADO oder OTL zu abstrahieren. So ziemlich alle Datenbanken unterstützen ODBC-Verbindungen, und Sie könnten einfach etwas wie den Datetime-Container von OTL verwenden, um Daten zu schreiben und zu lesen.

0

Es gibt auch DATE'2014-07-02', die von Oracle, DB2, MySQL und Teradata akzeptiert wird, aber nicht MS SQL oder PostgreSQL.