Dyl*_*son 1 sql oracle plsql oracle11g
我需要编写一个触发器,防止在星期五下午5点到星期一上午9点之间插入.
我是否正在走下正轨,以为我需要从sysdate中提取日期/时间并按照这样的方式做一些事情
if
extract (day from sysdate) =>5
AND extract (hour from sysdate) =>17
AND extract (day from sysdate) =< 1
AND extract (hour from sysdate) =<9
THEN
...
Run Code Online (Sandbox Code Playgroud)
如果这是可怕的走错了,请告诉我.
我觉得令人沮丧的是,我对"指定星期几之间"的搜索结果毫无结果,也许有人可以建议更好的搜索方法?
我会尝试:
IF TO_NUMBER( TO_CHAR( SYSDATE, 'DHH24' ) ) > 516 OR
TO_NUMBER( TO_CHAR( SYSDATE, 'DHH24' ) ) < 109 THEN
Run Code Online (Sandbox Code Playgroud)
甚至只是
IF NOT TO_NUMBER( TO_CHAR( SYSDATE, 'DHH24' ) ) BETWEEN 109 AND 516 THEN
Run Code Online (Sandbox Code Playgroud)
您需要注意,D星期几的值取决于本地日历,因此例如一周的第一天可能是星期日或星期一.检查您的NLS设置.