obtener - Extrayendo horas de DateTime(SQL Server 2005)
obtener hora sql server (10)
Puedo extraer el mes y el día usando Day(Date())
, Month(Date())
. No puedo extraer horas, con HOUR(Date())
. Obtuve el siguiente error.
''HOUR'' is not a recognized built-in function name.
¿Cómo puedo extraer horas?
No puedo extraer horas, con HORA (Fecha ())
Hay una manera de llamar HOUR
(no recomendaría usarlo porque existe la función DATEPART
) usando las funciones escalares de ODBC :
SELECT {fn HOUR(GETDATE())} AS hour
... puede usarlo en cualquier tipo de granularidad, es decir:
DATEPART(YEAR, [date])
DATEPART(MONTH, [date])
DATEPART(DAY, [date])
DATEPART(HOUR, [date])
DATEPART(MINUTE, [date])
(Nota: me gusta la [] alrededor de la fecha de la palabra reservada. Por supuesto, eso es en caso de que su columna con marca de tiempo tenga la etiqueta "fecha")
La función DATEPART () se usa para devolver una sola parte de una fecha / hora, como año, mes, día, hora, minuto, 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
Ejemplo
select *
from table001
where datepart(hh,datetime) like 23
debes usar datepart ()
like
datepart(hour , getdate())
prueba esto también:
DATEPART(HOUR,GETDATE())
to_char (current_timestamp, ''YYYY'') // para extraer solo DATE to_char (current_timestamp, ''HH24'') // para extraer solo HOUR
DATEPART(HOUR, [date])
devuelve la hora en tiempo militar (00 a 23) Si desea 1AM, 3PM, etc., necesita resolverlo:
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 DATEPART(HOUR, GETDATE());
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
trabajos