# hour ❇️

La función hour devuelve un entero (tipo int) entre 0 y 23 que corresponde con la hora de la fecha del parámetro de entrada.

La función requiere un parámetro de entrada.

# Ejemplo

select hour(getdate()) as result1;

El código SQL generado es:

SELECT DATEPART(hh,getdate()) AS result1

La función admite tanto valores datetime como datetimeofset.

select hour(cast('2022-12-25T21:30:00' as datetime)) as result2;
select hour(cast('2022-12-25T21:30:00+08:00' as datetimeoffset)) as result3;

El código SQL generado es:

SELECT DATEPART(hh,CAST('2022-12-25T21:30:00' AS datetime)) AS result2
SELECT DATEPART(hh,CAST('2022-12-25T21:30:00+08:00' AS datetimeoffset)) AS result3

El resultado de las dos consultas es:

21

# Comentario

En el caso de las fechas datetimeoffset la función ignora el offsety devuelve la hora en la zona horaria en que está expresada la fecha. Por lo tanto, si necesita la hora en la zona horaria local debe usar además la función localdate.

select hour(localdate(cast('2022-12-25T21:30:00+08:00' as datetimeoffset))) as result3;