> > This seems to be a NLS environment issue. Try setting nls_date_format and/or > nls_language. > > *nls_date_language* is the variable you are looking for. However, its value depends on too many things (for OCI - on the environment of the client executable; don't know about JDBC Thin) and it may be different for two different sessions running the same code. So, Mário, you have two options to make this code run consistently: a) set the nls_date_language session parameter to 'ENGLISH' or 'AMERICAN' prior to running next_day() via *alter session*, or b) do a double conversion of a known Friday (e.g., today, 10.10.2008: to_char(to_date('20081010', 'YYYYMMDD'),'Dy') ) 11:37:49 flado@l008>alter session set nls_date_language='PORTUGUESE'; 11:38:03 flado@l008>SELECT NEXT_DAY(SYSDATE, 'FRI') FROM dual; SELECT NEXT_DAY(SYSDATE, 'FRI') FROM dual * ERROR at line 1: ORA-01846: not a valid day of the week 11:38:09 flado@l008>SELECT NEXT_DAY(SYSDATE, to_char(to_date('20081010', 'YYYYMMDD'),'Dy')) FROM dual; NEXT_DAY(SYSDATE,TO ------------------- 2008-10-17 11:45:01 Personally, I prefer option b) since it doesn't require me to save the previous setting and restore it back afterwards, and it doesn't need one or two extra statements. Cheers! Flado