oracle 判断今天是星期几
阅读原文时间:2021年04月20日阅读:1

有人问怎么判断今天是星期几?

select to_char(sysdate,'d') from dual

    很显然这句并不能完成要求的功能,因为这只是显示当前为本星期的第几天,而老外把星期天当作每个星期的第一天,那么变通的方法就是求前一天为该周的第几天,不就相当于今天为星期几了么:

select to_char(sysdate - 1,'d') from dual

中午显示方法:

SQL> select to_char(sysdate,'day') day from dual;

DAY
------
星期日

英文显示方法:

SQL> select to_char(sysdate,'day','NLS_DATE_LANGUAGE=AMERICAN') day from dual;

DAY
---------
sunday

当然你也可以直接改变当前 session 的语言设置:

SQL> ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';

会话已更改。

SQL> select to_char(sysdate,'day') day from dual;

DAY
---------
sunday