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

come inserire la data corrente in un campo DATA in formato gg/mm/aaaa in Oracle

DATE è un tipo integrato in Oracle, che è rappresentato in modo fisso e non hai alcun controllo su di esso.

Quindi:

Voglio che inserisca [...] come 01/08/2011 12:00:00

Quanto sopra non ha senso. Non inserisci una stringa, inserisci una data.

Il formato è utile solo quando vuoi:

  • per convertire una stringa in una rappresentazione interna della data con TO_DATE (maschera di formato:come analizzare la stringa);
  • per convertire una rappresentazione interna della data in una stringa con TO_CHAR (maschera di formato:come rendere la data).

Quindi, in pratica, nel tuo esempio prendi un DATE, lo converti in STRING con un certo formato e lo riconverti in DATE con lo stesso formato. Questo è un no-op.

Ora, cosa mostra il tuo client:questo perché il tuo client Oracle non visualizzerà direttamente i campi DATE e il livello NLS convertirà qualsiasi campo DATE selezionato. Quindi dipende dalla tua lingua per impostazione predefinita.

Quello che vuoi è SELECT TO_CHAR(SYSDATE,'DD/MM/YYYY') FROM dual; che eseguirà esplicitamente la conversione e restituirà una stringa.

E quando vuoi inserire una data in un database, puoi usare TO_DATE o date letterali.