wake-up-neo.com

Stunden aus einer DateTime extrahieren (SQL Server 2005)

Ich kann den Monat und den Tag mit Day(Date()), Month(Date()) extrahieren. Ich kann mit HOUR(Date()) keine Stunden extrahieren. Ich erhalte folgende Fehlermeldung.

'HOUR' is not a recognized built-in function name.

Wie kann ich Stunden extrahieren?

150
Efe
SELECT DATEPART(HOUR, GETDATE());

DATEPART Dokumentation

288
Dave Markle

... Sie können es für jeden Granularitätstyp verwenden, z.

DATEPART(YEAR, [date])

DATEPART(MONTH, [date]) 

DATEPART(DAY, [date])    

DATEPART(HOUR, [date]) 

DATEPART(MINUTE, [date])

(Anmerkung: Ich mag das [] um das Datum reservierte Word jedoch. Natürlich ist das für den Fall, dass Ihre Spalte mit Zeitstempel "Datum" ist).

28
Milan

Verwenden Sie datepart .

Z.B.:

datepart(hh, date)
13
Adrian Godong

probiere auch diese aus:

   DATEPART(HOUR,GETDATE()) 
9
user594166

Mit der Funktion DATEPART () wird ein einzelner Teil eines Datums/einer Uhrzeit zurückgegeben, z. B. Jahr, Monat, Tag, Stunde, Minute usw.

datepart    ***Abbreviation

year        ***yy, yyyy 
quarter     ***qq, q 
month       ***mm, m 
dayofyear   ***dy, y 
day         ***dd, d 
week        ***wk, ww 
weekday     ***dw, w 
hour        ***hh 
minute      ***mi, n 
second      ***ss, s 
millisecond ***ms 
microsecond ***mcs 
nanosecond  ***ns 

Beispiel

select * 
from table001
where datepart(hh,datetime) like 23
1
Hamid Nadi
select case when [am or _pm] ='PM' and datepart(HOUR,time_received)<>12 
           then dateadd(hour,12,time_received) 
           else time_received 
       END 
from table

funktioniert

1
Dani

DATEPART(HOUR, [date]) gibt die Stunde in militärischer Zeit zurück (00 bis 23) Wenn Sie 1 Uhr morgens, 3 Uhr nachmittags usw. wünschen, müssen Sie dies herausfinden:

SELECT Run_Time_Hour =
CASE DATEPART(HOUR, R.date_schedule)
    WHEN 0 THEN  '12AM'
    WHEN 1 THEN   '1AM'
    WHEN 2 THEN   '2AM'
    WHEN 3 THEN   '3AM'
    WHEN 4 THEN   '4AM'
    WHEN 5 THEN   '5AM'
    WHEN 6 THEN   '6AM'
    WHEN 7 THEN   '7AM'
    WHEN 8 THEN   '8AM'
    WHEN 9 THEN   '9AM'
    WHEN 10 THEN '10AM'
    WHEN 11 THEN '11AM'
    WHEN 12 THEN '12PM'
    ELSE CONVERT(varchar, DATEPART(HOUR, R.date_schedule)-12) + 'PM'
END
FROM
    dbo.ARCHIVE_RUN_SCHEDULE R
0
relgrem

Ich kann mit HOUR (Date ()) keine Stunden extrahieren

Es gibt eine Möglichkeit, HOUR aufzurufen (ich würde es jedoch nicht empfehlen, weil es DATEPART-Funktion gibt), indem ODBC-Skalarfunktionen verwendet wird:

SELECT {fn HOUR(GETDATE())} AS hour

LiveDemo

0
Lukasz Szozda