Domanda

In Oracle, questo ritorna 03/01/2010. Che non ha senso per me. Qualcuno sa perché?

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

Ho provato su Oracle 10g e 11g.

È stato utile?

Soluzione

Oracle ha bisogno di un DateTime completa nel suo campo di valore di tipo data, rendendo così prendere il primo giorno del corrente al mese, direi, dal momento che non richiesto altre informazioni rispetto all'anno. Ricordate che è sempre necessario per lanciare attraverso TO_DATE () e TO_CHAR () date in Oracle. Assumendo così, Oracle "sa" che si ottengono le informazioni richieste.

Altri suggerimenti

Non credo che ci sia alcun motivo ragionevole, è solo "ciò che fa". Ha inoltre ottenuto discusso sulla OTN forum circa un anno fa.

Non lo so, ma la mia ipotesi è che mesi sono pari a zero basano, in modo da Jan = 0, Mar = 2, ecc.

"10" potrebbe essere un problema Y2K in divenire, ma è essere interpretato nel 2010.

E se non viene dato il giorno del mese, forse è supponendo che il primo giorno del mese.

Perché provare questo? Faresti mai voglia di codice in questo modo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top