I am testing this trigger at 4:20pm and it suppose to raise this error message when I do an update. However, this trigger doesn't give me an error like the following:

SQL> UPDATE EMP
2 SET SAL =6500
3 WHERE ename='MILLER';
UPDATE EMP
*
ERROR at line 1:
ORA-20503: You may only update SAL during normal hrs.
ORA-06512: at "SCOTT.SECURE_EMP", line 11
ORA-04088: error during execution of trigger 'SCOTT.SECURE_EMP'

This is the code:

CREATE OR REPLACE TRIGGER secure_emp
BEFORE INSERT OR UPDATE OR DELETE ON emp
BEGIN
IF (TO_CHAR (sysdate, 'DY')) In ('SAT', 'SUN') OR
(TO_CHAR (sysdate, 'HH24') NOT BETWEEN '08' AND '16')
-- Inserting @6:15pm.
THEN
IF DELETING
THEN RAISE_APPLICATION_ERROR (-20502, 'You may only delete from EMP during normal hours.');
ELSIF INSERTING
THEN RAISE_APPLICATION_ERROR (-20500, 'You may only insert into EMP during normal hrs.');
ELSIF UPDATING ('SAL')
THEN RAISE_APPLICATION_ERROR (-20503, 'You may only update SAL during normal hrs.');
ELSE
RAISE_APPLICATION_ERROR (-20504, 'You may only update EMP during normal hrs.');
END IF;
END IF;
END;
/

I think the problem occurs in TO_CHAR (sysdate, 'HH24'). What is it exactly though? Thank you in advance!!