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

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

http://www.techonthenet.com/oracle/functions/to_char.php

Escribe un comentario