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
SQL Server 2008:
select cast(AttDate as time) [time]
from yourtable
Frühere Versionen:
select convert(char(5), AttDate, 108) [time]
from yourtable
Angenommen, SQL Server
SELECT CONVERT(VARCHAR(8),GETDATE(),108)
SQL Server 2008+ hat einen "Zeit" -Datentyp
SELECT
..., CAST(MyDateTimeCol AS time)
FROM
...
Für ältere Versionen ohne varchar-Konvertierungen
SELECT
..., DATEADD(dd, DATEDIFF(dd, MyDateTimeCol, 0), MyDateTimeCol)
FROM
...
Der einfachste Weg, die Zeit ohne Millisekunden-Stack von datetime zu erhalten, ist:
SELECT convert(time(0),getDate())
Versuchen Sie dies
Datum bis Uhrzeit
select cast(getdate() as time(0))
Zeit für TinyTime
select cast(orig_time as time(0))
Versuche dies:
select convert(nvarchar,CAST(getdate()as time),100)
select AttDate,convert(char(5), AttDate, 108) [Time] from yourTableName
Ich benutze oft dieses Skript, um die Zeit von DateTime zu erhalten:
SELECT CONVERT(VARCHAR(9),RIGHT(YOURCOLUMN_DATETIME,9),108) FROM YOURTABLE
Um die Zeit von datetime zu erhalten, können wir verwenden
SELECT CONVERT(VARCHAR(20), GETDATE(), 114)
select cast (as time(0))
wäre eine gute Klausel. Zum Beispiel:
(select cast(start_date as time(0))) AS 'START TIME'
Wenn Sie ein Date in diesem Stil möchten: 23. Oktober 2013 10:30 Uhr
Benutze das
SELECT CONVERT(NVARCHAR(30),getdate(), 100)
Die Methode convert()
akzeptiert 3 Parameter
Holen Sie sich das Datum des Servers
SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), GETDATE(), 100), 7)) FROM TABLENAME WHERE ...
oder
Wenn es in der Tabelle gespeichert ist
SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), datename, 100), 7)) FROM TABLENAME WHERE ...
Ergebnis:
11:41