Tip - Trick - PLSQL - fecha con nombre del dia y del mes

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 ] )

string: será la cadena de texto para convertirla a tipo fecha

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;

en el momento de escribir este post nos devuelve: 05-02-2008ahora agregamos el tercer parametro, nls_language es ‘NLS_DATE_LANGUAGE=spanish

para hacer la prueba podriamos hacer


SELECT to_char(SYSDATE, 'day dd-mm-yyyy', 'NLS_DATE_LANGUAGE=spanish' ;) FROM dual;

en el momento de escribir este post nos retorna: martes 05-02-2008Si haces:


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:


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;

Enlaces de referencia:
http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96529/ch7.htm
http://www.techonthenet.com/oracle/functions/to_char.php

Sin comentarios

No comments yet

Leave a reply