2011-05-12 34 views

Respuesta

14
SELECT to_number(to_char(sysdate, 'HH24')) FROM DUAL 
20

Una alternativa es la función de extracción que es un estándar ANSI y también trabaja en otros DBMS, sino que también requiere el uso de current_timestamp (también ANSI) en lugar de sysdate

SELECT extract(hour from current_timestamp) 
FROM dual 
+1

por alguna razón la gente no le gusta extracto. pero, me parece muy simple y elegante. – clq

1

otras maneras de utilizar DATEPART tipo de función en el oráculo

DATEPART: -Weekday

--Este daría el día de la semana para empezar el día una referencia

DECLARE 
Start_day date:=to_date('30-03-2012','DD-MM-YYYY'); 
check_date DATE:=SYSDATE; 
Day_of_week NUMBER; 
i NUMBER; 
BEGIN 
i:=to_char(Start_day,'D'); 
day_of_week:=mod((to_char(check_date,'D') -(i-1)+7),7); 
if day_of_week=0 
THEN 
day_of_week:=7; 
end if; 
dbms_output.put_line(day_of_week); 
END;  
1

Creo que esto es lo que busca

select to_char(current_timestamp,'HH24') from dual; 
Cuestiones relacionadas