Frage

kann ich den Monat und den Tag extrahieren, indem Sie Day(Date()), Month(Date()). Ich kann nicht Stunden extrahiert, mit HOUR(Date()). Ich erhalte die folgende Fehlermeldung.

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

Wie kann ich Stunden extrahieren?

War es hilfreich?

Lösung

SELECT DATEPART(HOUR, GETDATE());

DATEPART Dokumentation

Andere Tipps

... können Sie es auf jedem Körnigkeit Typ d.h verwenden.

DATEPART(YEAR, [date])

DATEPART(MONTH, [date]) 

DATEPART(DAY, [date])    

DATEPART(HOUR, [date]) 

DATEPART(MINUTE, [date])

. (Anmerkung: Ich mag das [] um das Datum reservierte Wort, obwohl natürlich die im Fall ist Ihre Spalte mit Zeitstempel markiert ist „Datum“)

Verwenden Sie Datumsteil.

Z. B:.

datepart(hh, date)

versuchen, diese auch:

   DATEPART(HOUR,GETDATE()) 

DATEPART(HOUR, [date]) gibt die Stunde in der Militärzeit (00 bis 23) Wenn Sie 01.00 mögen, 03.00 etc, müssen Sie es Fall aus:

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
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

Werke

Die DATEPART () Funktion wird ein einzelnes Teil eines Datum / Zeit zurückzukehren, wie Jahr, Monat, Tag, Stunde, Minute, etc.

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
  

Ich kann nicht extrahieren Stunden, mit HOUR (Date ())

Es gibt einen Weg HOUR zu nennen (ich würde es nicht empfehlen, wenn zu verwenden, da es DATEPART Funktion ist) mit ODBC-Skalarfunktionen :

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

LiveDemo

to_char (current_timestamp, 'YYYY') // nur DATE zu extrahieren to_char (current_timestamp, 'HH24') // extrahieren nur HOUR

Sie müssen verwenden Datumsteil ()

like 


datepart(hour , getdate())
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top