Ich möchte nur die Zeit aus der DateTime-Spalte mithilfe einer SQL-Abfrage mit SQL Server 2005 und 2008 abrufen. Standardausgabe:
AttDate
==
2011-02-09 13:09:00
2011-02-09 14:10:00
Ich möchte diese Ausgabe:
AttDate Time
==
2011-02-09 13:09:00 13:09
2011-02-09 14:10:00 14:10
SELECT CONVERT(VARCHAR(8),GETDATE(),108)
für SQL Server seinAntworten:
SQL Server 2008:
Frühere Versionen:
quelle
Angenommen, SQL Server
SELECT CONVERT(VARCHAR(8),GETDATE(),108)
quelle
SQL Server 2008+ hat einen Datentyp "Zeit"
Für ältere Versionen ohne Varchar-Konvertierungen
quelle
0
steht das Mindestdatum1900-01-01
. Dies ergibt also die (negative) Anzahl von Tagen zwischen dem Spaltenwert und 0 und addiert dann diese negativen Tage zum Spaltenwert, der den Datumsteil "auf Null setzt",1900-01-01
und Sie haben nur noch die Zeit.Der einfachste Weg, die Zeit von datetime ohne Millisekundenstapel abzurufen, ist:
quelle
Versuchen Sie es mit diesem
Datum zu Uhrzeit
Zeit für TinyTime
quelle
Versuche dies:
quelle
Versuchen Sie dies, es wird funktionieren:
Als Referenz .
quelle
select AttDate,convert(char(5), AttDate, 108) [Time] from yourTableName
quelle
wäre eine gute Klausel. Beispielsweise:
quelle
Ich benutze dieses Skript oft, um die Zeit von DateTime abzurufen:
quelle
Um die Zeit von datetime zu erhalten, können wir verwenden
quelle
Wenn Sie etwas in diesem Stil datieren möchten: 23. Oktober 2013, 10:30 Uhr
Benutze das
convert()
Methode nimmt 3 Parameterquelle
Datum des Servers abrufen
oder
Wenn es in der Tabelle gespeichert ist
Ergebnis:
quelle
quelle
unter MSSQL2012 oder höher
...oder...
quelle
SQL Server 2012:
Persönlich bevorzuge ich TRY_CONVERT () gegenüber CONVERT (). Der Hauptunterschied: Wenn die Umwandlung fehlschlägt, gibt TRY_CONVERT () NULL zurück, während CONVERT () einen Fehler auslöst.
quelle
select substr(to_char(colUmn_name, 'DD/MM/RRRR HH:MM:SS'),11,19) from table_name;
Ausgabe: von
quelle
'to_char' is not a recognized built-in function name.