Pregunta

He rastreado el sitio web para pensar que esto es bastante obvio, pero por desgracia no he encontrado hasta ahora. Básicamente, la configuración es la siguiente:

Tengo una cadena en una tabla de este modo:

  

06/22/2010 00:00:00

hago un selecto en él:

SELECT To_Date(item, 'MM/DD/YYYY HH24:MI:SS') from that_table

de manera que efectivamente estoy haciendo

SELECT To_Date('06/22/2010 00:00:00', 'MM/DD/YYYY HH24:MI:SS') from that_table

Mis base de datos devuelve:

  

22.06.2010 00:00:00

Ahora sé que puedo hacer un

to_char(to_Date('06/22/2010 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'MM/DD/YYYY HH24:MI:SS')

pero necesito el selecto para devolver un formato de fecha (MM/DD/YYYY HH24:MI:SS), no es una cadena. ¿Cómo puedo hacer eso?

Editar La producción real:

  

22.06.2010 00:00:00

salida deseada (en formato de fecha):

  

06/22/2010 00:00:00

¿Fue útil?

Solución

una fecha es un punto en el tiempo, no tiene formato (como los números: no tienen formato). Cuando se muestra la fecha, es obvio que tiene que conseguir un formato:. Si no das específicamente Oracle un formato, se utilizará el formato por defecto para la sesión (sesión de parámetro NLS_DATE_FORMAT)

En consecuencia: utilizar el tipo de datos FECHA de la aritmética y de almacenamiento (sin formato) de fecha. Utilice la función to_char o algo equivalente cuando se necesita para mostrar la fecha (en un informe o en la GUI).

Otros consejos

A FECHA no tiene un formato, sólo está formateado cuando se convierte en una cadena de caracteres con fines de exhibición. Si está utilizando SQL Plus entonces cuando se muestra una columna DATE (sin utilizar TO_CHAR para dar formato explícitamente), SQL Plus en sí realiza una conversión TO_CHAR utilizando el ajuste NLS_DATE_FORMAT:

SQL> select sysdate from dual;

SYSDATE
---------
23-JUN-10

SQL> alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS';

Session altered.

SQL> select sysdate from dual;

SYSDATE
-------------------
2010-06-23 15:17:12

Si no está utilizando SQL Plus, entonces cualquier herramienta que está utilizando va a hacer algo similar y puede tener una forma diferente para especificar el formato de fecha para su visualización.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top