MS SQL - DatePart mit Long Time - Fehler!??
Sonic
- datenbank
0 Ilja0 Sonic0 Vinzenz Mai0 Sonic
0 Vinzenz Mai
Hallo,
kann mir jemand sagen wieso ich Fehler bei folgender Abfrage mit "Long Time" bekomme?
Mit "h" funktioniert es wunderbar:
SELECT Datum, DatePart("h",[Datum]) FROM Tabelle1
WHERE DatePart("h",[Datum]) = "08"
Mit "Long Time" möchte ich aus dem Datumfeld (10.10.2005 08:00:00) die Uhrzeit extrahieren und es geht nicht:
SELECT Datum, DatePart("Long Time",[Datum]) FROM Tabelle1
WHERE DatePart("Long Time",[Datum]) = "08:00:00"
Danke im Voraus
yo,
es ist schon lange her, dass ich mssql benutzt hatte, insofern bin ich mir nicht sicher. ich habe aber meine zweifel, dass long time ein zulässiger parameter der funktion datetime ist. meistens werden eben dafür einfache abkürzungen wie 'h' benutzt. vielleicht solltest du am besten dafür die sehr gute online hilfe konsultieren.
Ilja
Hallo,
es ist schon lange her, dass ich mssql benutzt hatte,
insofern bin ich mir nicht sicher. ich habe aber meine zweifel, dass long time ein zulässiger parameter der funktion datetime ist. meistens werden eben dafür einfache abkürzungen wie 'h' benutzt. vielleicht solltest du am besten dafür die sehr gute online hilfe konsultieren.
Laut MS Access-Hilfe gibt es diesen Parameter.
Eng: "long time", Deu: "zzzzz".
Aber es will nicht funktionieren!
Hallo Sonic,
Laut MS Access-Hilfe gibt es diesen Parameter.
Eng: "long time", Deu: "zzzzz".
Sprichst Du von MS Access oder von MS SQL-Server?
Aber es will nicht funktionieren!
Hinter MS Access steht die Jet-Engine als DBMS, die Jet-SQL versteht, Jet-SQL ist von Transact-SQL (auch T-SQL) von MS SQL-Server verschieden. Wenn Du MS SQL-Server verwendest, kannst Du mit der Dokumentation zu Access wenig anfangen.
Freundliche Grüße
Vinzenz
Wenn Du MS SQL-Server verwendest, kannst Du mit der Dokumentation zu Access wenig anfangen.
Ja, du hast recht. Und das mit CONVERT ist ein guter Vorschlag. Danke!
Hallo Sonic,
kann mir jemand sagen wieso ich Fehler bei folgender Abfrage mit "Long Time" bekomme?
Mit "h" funktioniert es wunderbar:
Die Onlinedokumentation, die Du übrigens auch bei Microsoft downloaden kannst, kennt keinen Parameter "Long Time". Wenn Du den Zeitanteil eines DATETIME-Feldes haben möchtest, so kannst Du das (wie ebenfalls in der Online-Dokumentation beschrieben) mit der Funktion CONVERT() tun:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
SELECT Datum, DatePart("Long Time",[Datum]) FROM Tabelle1
WHERE DatePart("Long Time",[Datum]) = "08:00:00"
SELECT
Datum,
CONVERT( -- wandle um
char(8), -- Zieldatentyp: Zeichenkette mit 8 Buchstaben
Datum, -- der Ausdruck, der umgewandelt werden soll
8 -- Ausgabeformat: hh:mm:ss
)
FROM Tabelle1
Den Rest solltest Du selbst hinkriegen. Die Liste für style ist ebenfalls in der Onlinehilfe zu finden.
Freundliche Grüße
Vinzenz