Oracle
 sql >> Database >  >> RDS >> Oracle

cambia il formato della data "aaaa/mm/gg" in "mm-gg-aaaa" in Oracle

to_date() prende il tuo parametro stringa, lo abbina al formato fornito nel secondo parametro e costruisce un campo data da esso. Il campo della data non utilizza il formato fornito nel secondo parametro, infatti verrà archiviato utilizzando una rappresentazione interna dei dati che non ha alcun formato (un numero, con ogni probabilità).

Per presentare nuovamente un formato nei risultati da un campo data, puoi:

  1. Fai in modo che il client che esegue la query imposti i parametri NLS (a livello di sessione) per fornire un formato localizzato, con un ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD'; dichiarazione), o
  2. Usa to_char(..., 'YYYY-MM-DD') attorno al campo esistente per trasformare la data in una stringa formattata nel modo desiderato. Dove sostituisci ... con la definizione di colonna corrente nella selezione.

L'approccio n. 1 sta già accadendo, poiché ci sarà già un set NLS_DATE_FORMAT che sta producendo il formato corrente, ma è con un formato che non vuoi, quindi se puoi controllarlo e cambiarlo lì, puoi farlo modo. Se non puoi e devi avere il formato coerente in un altro modo, allora il numero 2 potrebbe essere la strada da percorrere.