|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Aurélien Inscription : novembre 2009 Messages : 50 ![]() |
Salut à tous !
Je suis en train de tourner en rond sans trouver de réèlle solution donc je me tourne vers vous. Je veux créer des tables sous Squirrel (3.1) contenant entre autres des INTEGER. Par defaut il me transforme mes INTEGER en DECIMAL(22). Ce qui me dérange c'est que si par hasard (on sait jamais) je rentre 1.2 ça me donne 1 et si je rentre 1.6 ça me donne 2 alors que j'aurais préféré que ça me donne 1 dans les deux cas. J'ai essayé DECIMAL(*,0) ou NUMBER(*,0) mais il me remet toujours par défaut un DECIMAL(22) avec le même principe En fait, plutôt j'aimerais quand même que si je rentre autre chose qu'un entier il me refuse l'écriture tout simplement ... avec un message d'erreur ... comment je pourrais faire cela ? Merci, Auré. |
|
|
00
|
|
|
#2 |
![]() ![]() |
Chez Oracle il n'y a qu'un seul type qui regroupe tous les formats numérique : NUMBER.
On peut affiner avec précision et échelle, mais ça reste le même type de données. Si vous voulez prévoir l'entrée involontaire de décimaux, utilisez le type number et par une vue faites un floor/truncate de ce nombre. Comme ça vous pilotez explicitement votre règle.
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#3 |
|
Invité régulier
![]() Aurélien Inscription : novembre 2009 Messages : 50 ![]() |
Merci Fabien ...
Lorsque je travaillais avec Oracle XE c'est effectivement ce que je faisais ... seulement avec Squirrel même les NUMBER(*,0) il me les transforme en DECIMAL(22) ... je le vois en regardant la source de la table en question. Et DECIMAL(22) je sais pas trop à quoi ça correspond en comparaison de NUMBER(*,0). J'ai l'impression que c'est équivalent à DECIMAL(22,0) mais j'en suis pas sur. Tu peux me confirmer ou m'infirmer ? Et sais tu quelle est la différence entre DECIMAL et NUMBER ? Merci. |
|
|
00
|
|
|
#4 |
![]() ![]() |
Aucune différence, DECIMAL(22) = NUMBER(22) = NUMBER(22,0).
Par contre NUMBER(*,0) c'est NUMBER(38) qui est la précision maximale avec Oracle.
__________________
Email : http://scr.im/waldar |
|
00
|
Copyright © 2000-2012 - www.developpez.com