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