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.