Sybase: Komponieren ein, WO für eine timestamp-Datentyp
Ich versuche zum erstellen einer SQL Select-Anweisung für Sybase mit einer Where-Klausel auf den Timestamp-Datentyp.
SELECT * FROM DEV.CONF WHERE LAST_UPDATE < '[some_date]'
- Die LAST_UPDATE Spalte ist der Datentyp Timestamp.
- Ich habe versucht, mit der convert-Funktion und andere, aber kann nicht scheinen, um diese zu arbeiten.
- Was ist also das problem? Das format für
some_date
? - Das problem ist Datentyp für LAST_UPDATE ist ein timestamp, kein datetime. Der timestamp-Datentyp ist ein binäres format, und ich möchte konvertieren von strings wie '6/16/2011 4:17:29" in das datetime-format. So bekomme ich Fehler wie "DATETIME" ist nicht gültig in dem Kontext, in dem es verwendet wird, wenn
SELECT * FROM REPORT.CONF WHERE LAST_UPDATE < CONVERT(DATETIME, '6/16/2011 4:17:29.463114 AM', 109)
ausgeführt wird.
InformationsquelleAutor jac_no_k | 2011-06-23
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
AFAIK der SQL-standard legt fest, ISO 8601 format für Zeitstempel, so versuchen Sie dies:
wo Sie Sie benutzen wollen "04:17:29.463114 am 16. Juni 2011" als timestamp.
Auf der Datenbank-Ebene, sollten Sie nur unter Verwendung der ISO-8601 Datums-und Zeit-Formate, es sei denn, es gibt einen sehr guten Grund für etwas anderes (das Teil ist mir einfach ein bisschen rechthaberisch, obwohl :).