Para recuperar el nombre del dia (es decir lunes, martes, miércoles, etc) usando la función TO_CHAR del plsql. recordemos un poco de teoria:
to_char( date, [ format_mask ], [ nls_language ] )
format_mask: será la máscara que utilizaremos para convertir la cadena de texto
nls_language: es un parámetro opcional, es el lenguaje nls que utilizaremos para la conversión.
Supongamos que nuestro ejemplo toma como parámetro de entrada de fecha el SYSDATE
SELECT to_char(SYSDATE, 'dd-mm-yyyy') FROM dual;
nos retorna: 05-02-2008.
Si agregamos el tercer parámetro, NLS_DATE_LANGUAGE=spanish
El siguiente ejemplo:
SELECT to_char(SYSDATE, 'day dd-mm-yyyy', 'NLS_DATE_LANGUAGE=spanish') FROM dual;
nos retorna: martes 05-02-2008.
El siguiente ejemplo:
SELECT to_char(SYSDATE, 'day dd-month-yyyy', 'NLS_DATE_LANGUAGE=spanish') FROM dual;
nos retorna: martes 05-febrero-2008
Si deseas puedes cambiar el idioma, de la siguiente manera:
SELECT to_char(SYSDATE, 'day dd-month-yyyy', 'NLS_DATE_LANGUAGE=english') FROM dual; SELECT to_char(SYSDATE, 'day dd-month-yyyy', 'NLS_DATE_LANGUAGE=french') FROM dual; SELECT to_char(SYSDATE, 'day dd-month-yyyy', 'NLS_DATE_LANGUAGE=german') FROM dual;
Más info:
http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96529/ch7.htm











