+1 voto
210 visite
quesito posto in SQL e PLSQL da (130 punti)
Ciao tutti,

il mio problema credo proprio sia banale ma è molto strano. Ho installato Oracle XE 11.2.0 e ho creato alcune tabelle tramite l'interfaccia web messa a disposizione da Oracle.

In una di queste tabelle devo memorizzare il prezzo di alcuni prodotti perciò ho chiamato la colonna PREZZO  e ho scelto come tipo della variabile NUMBER senza specificare altro (come ho fatto miliardi di volte) ma quando vado a salvare il prezzo 0.5 mi salva .5, perchè?
E' davvero strano. Ho cercato di risolvere da sola e anche su internet ma non ho trovato niente.

Spero che qualcuno trovi la soluzione

Grazie,

Sara

1 Risposta

0 voti
risposta inviata da (1.9k punti)

Ciao Sara,

la visualizzazione di cui parli dipende dalle impostazioni NLS lato server che possono esere sovrascritte lato client. Non ho mai utilizzato l'interfaccia web di XE qundi non so se ci sia la possibilità di scrivere dei comandi.

In ogni caso le strade sono più di 1.

Per prima cosa dovresti verificare quali sono le tue impostazioni NLS con il seguente comando:

SHOW PARAMETER NLS_TERRITORY;

Immagino che tu abbia delle impostazioni americane, prova magari a modificarle come segue:

ALTER SESSION SET NLS_TERRITORY = 'ITALY';     
 
Prova a rifare la query e dimmi se ora la visulizzi come vuoi tu.
 
 
Un'altra alternativa è di forzare la visualizzazione mediante la funzione TO_CHAR, ad esempio nel tuo caso:
 
SELECT TO_CHAR(0.5, '0.9') 
FROM DUAL;

Carlo

commentato da (130 punti)
Ciao Carlo,

prima di tutto grazie per la risposta. Ho controllato il parametro che mi hai suggerito (NLS_TERRITORY) ed è impostato correttamente, ITALY.
Ho controllato che sommando i valori contenuti nel campo prezzo il valore fosse corretto ed è così, perciò sembrerebbe soltanto un problema di visualizzazione che risolverò con il to_char.
Non è una soluzione bellissima ma meglio di niente.
Grazie mille.

Sara

Domande correlate

0 voti
1 risposta 1.4k visite
0 voti
1 risposta 19 visite
0 voti
0 risposte 164 visite
0 voti
0 risposte 301 visite
0 voti
0 risposte 111 visite
...