Pregunta

En Oracle, esto devuelve 03/01/2010. Eso no tiene sentido para mí. Alguien sabe por qué?

SELECT TO_DATE( '2010' ,'yyyy' ) AS STRANGE_YEAR_RESULT
FROM DUAL

He intentado en Oracle 10g y 11g.

¿Fue útil?

Solución

Oracle necesita un DateTime completo en su campo de valor de tipo fecha, por lo que es tomar el primer día de la actual meses, yo supongo, ya que se requiere ninguna otra información que el año. Recuerde que siempre hay que emitir a través TO_DATE () y TO_CHAR () fechas en Oracle. Asumiendo así, Oracle "sabe" que va a obtener la información requerida.

Otros consejos

No creo que haya ninguna razón sensible, es sólo "lo que hace". También consiguió discutió en la OTN foros hace aproximadamente un año.

No lo sé, pero mi conjetura es que son meses basan cero, por lo Ene = 0, Mar = 2, etc.

"10" puede ser un problema Y2K en la fabricación, pero está siendo interpretado como 2010.

Y si no se da el día del mes, tal vez de que éste asuma el primer día del mes.

¿Por qué probar esto? Nunca lo desea codificar de esta manera.

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