Change Start of Week for Saudi Arabia

In the Kingdom, week starts on Saturday (not Sunday like the USA):

There are 2 ways to achieve this in 11.2.0.3

 

First Method:

alter session set nls_TERRITORY ='SAUDI ARABIA';
select   sysdate, to_char(sysdate, 'Day') "Day Name", 
         to_char(sysdate, 'D') "Day Number", 
         trunc(sysdate ,'D')"Beginning of Week"  
from dual;

next_day alter session

Sysdate is Feb 23, 2016 which is Tuesday and 4th day of the week.  If in America territory, Tuesday would’ve been the 3rd day of the week.

 

Beginning of the week is Saturday, Feb 20, 2016. If in America territory, the date would’ve been Sunday, Feb 21, 2016

 

Second Method:

select sysdate, next_day(sysdate - 7, 'SATURDAY') from dual;

 

next_day

 

Notice there is no “alter session” which makes it a bit easier.

 

Hope this helps

Advertisements