No non lo è. La tua data viene emessa nel formato specificato da NLS_DATE_FORMAT . Voglio visualizzare se diversamente cambia questo parametro per la tua sessione:
alter session set nls_date_format = 'dd-mm-yyyy'
Nota la parola visualizzare . Questo è tutto ciò che fa. Questo è tutto ciò che dovresti considerare di fare. Il modo in cui una data viene visualizzata non influisce in alcun modo sul modo in cui viene memorizzata.
Più normalmente potresti usare TO_CHAR() con un modello di formato appropriato per visualizzare una data, ad esempio to_char(my_date, 'dd-mm-yyyy')
. Non sarà più una data ma un personaggio.
Non sembra che tu voglia visualizzare una data come hai detto. Stai restituendo il valore dalla tua funzione, nel qual caso mi atterrei a quello che hai. Devi solo trasformare una data in un formato appropriato per la visualizzazione quando la estrai dal database, salvala sempre come data nel database. Questo a sua volta significa che non importa come appare quando è memorizzato nel database, ma semplicemente che si tratta in realtà di una data.