...seguramente, como muchos, escribí una sentencia rápida para determinar los días hábiles de la semana:
SELECT TO_CHAR(SYSDATE, 'D') FROM DUAL;
Pero resulta, que en algunos ambientes, esta misma consulta me retornaba 1 y en otras 2 para el día lunes. Esto es porque en algunos países el primer día de la semana es el domingo, y en otros es el lunes.
Una posible solución, fué asegurarme de que el territorio de mi ambiente sea siempre el mismo, en cualquier lugar donde lo lance. Esto lo hice agregando a mi script el siguiente ALTER SESSION:
ALTER SESSION SET NLS_TERRITORY = AMERICA;
A partir de ahí, mi consulta siempre devuelve 2 para los lunes!
SELECT * FROM v$nls_valid_values;
Muestra todos los valores posibles para TERRITORY, LANGUAGE y CHARACTERSET.
SELECT * FROM v$nls_parameters;
Muestra la configuración de la instancia de base de datos.
SELECT * FROM nls_session_parameters;
SELECT * FROM nls_instance_parameters;
SELECT * FROM nls_database_parameters;
Muestran la configuración de la sesión, instancia y base de datos.