Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /membri/oraclefaq/qa-include/qa-db.php on line 66
Problema banale ma strano sul tipo di variabili, visualizzazione formato numeri - Oracle FAQ - Il forum italiano su oracle
Benvenuto in Oracle FAQ - Il forum italiano su oracle, dove potrai fare domande e ricevere risposte da altri membri della community.

76 domande

14 risposte

4 commenti

41,077 utenti

Tag popolari


Problema banale ma strano sul tipo di variabili, visualizzazione formato numeri

+1 voto
179 visite
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
quesito posto 29 Aprile 2014 in SQL e PLSQL da saretta883 (130 punti)

1 Risposta

0 voti

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

risposta inviata 1 Maggio 2014 da carlo10 (1,860 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,162 visite
1,162 visite quesito posto 5 Febbraio 2014 in SQL e PLSQL da andrea_f (120 punti)
0 voti
0 risposte 134 visite
134 visite quesito posto 23 Marzo 2014 in SQL e PLSQL da carlo10 (1,860 punti)
0 voti
0 risposte 287 visite
0 voti
0 risposte 95 visite
0 voti
0 risposte 75 visite
75 visite quesito posto 9 Marzo 2014 in SQL e PLSQL da carlo10 (1,860 punti)
...