Bonjour,
Je veux créer une colonne d'une table
J'ai la même erreur avec VARCHAR2
Code : Sélectionner tout - Visualiser dans une fenêtre à part DEPTNO NUMBER(2,0)
Mais je vois que MySQL ne prend pas ce type
MERCI.
A+
Bonjour,
Je veux créer une colonne d'une table
J'ai la même erreur avec VARCHAR2
Code : Sélectionner tout - Visualiser dans une fenêtre à part DEPTNO NUMBER(2,0)
Mais je vois que MySQL ne prend pas ce type
MERCI.
A+
Salut dari68.
Pour un nombre décimal, il fait procéder ainsi :
Mais si comme je le pense, c'est un entier, autant mettre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part `DEPTNO` DECIMAL(2,0) NOT NULL
@+
Code : Sélectionner tout - Visualiser dans une fenêtre à part `DEPTNO` SMALLINT UNSIGNED NOT NULL
Si vous êtes de mon aide, vous pouvez cliquer sur .
Mon site : http://www.jcz.fr
MERCI Artemus24.
Là j'ai une nouvelle colonne (MOYENNE) j'ai besoin d'avoir des nombres décimaux:
MOYENNE DECIMAL(5.2) Not Null Mais pour une moyenne 11.62 par exemple MySQL me retourne 12 !
MERCI de votre aide.
A+
Salut Daria68.
C'est un problème de conversion. Il faut que tu t'assures d'avoir partout des décimaux.
Si ce n'est pas le cas, il faut utiliser la fonction "cast".
Cela permet aussi d'avoir la précision voulue.
@+
Code : Sélectionner tout - Visualiser dans une fenêtre à part cast(colonne as decimal(15,3))
Si vous êtes de mon aide, vous pouvez cliquer sur .
Mon site : http://www.jcz.fr
Bonjour,
Merci, j'ai un gros fichier des insert MAIS j'ai les décimaux avec une virgule et Ma base MySQL n'accepte que les décimaux avec "le point"
Y aurait une option à activer ou une collation qui accepterait ces nombres avec un point et non pas une virgule ?
Comment appliquer cast(colonne as decimal(15,3)) sur un gros fichier ....?
MERCI.
A+
Salut Dari68.
Je suppose que votre colonne contenant vos décimaux est du type "varchar()".Envoyé par Dari68
Pour résoudre ce problème, il suffit d'utiliser un fonction mysql qui va vous convertir la virgule en un point dans la chaîne de caractères contenant votre nombre décimal.
--> https://dev.mysql.com/doc/refman/8.0...nction_replace
Code : Sélectionner tout - Visualiser dans une fenêtre à part insert into votre_table (col1, col2, ...) values ('toto', replace(chaine, ',', '.'), ...);
La taille du fichier n'a aucune importance.Envoyé par Dari68
Avant de faire le calcul, s'il s'agit de cela, vous devez vous assurer que vos colonnes dans vos tables sont dans le bon type, à savoir "decimal(15,3)".
Si ce n'est pas le cas, modifiez le type de vos colonnes.
Si vous devez convertir un entier en décimal, vous devez appliquer le "cast" sur la valeur avant de faire l'insertion.
J'aimerai connaitre la description de vos colonnes ainsi que le calcul que vous faites concernant cette moyenne qui vous pose problème.
@+
Si vous êtes de mon aide, vous pouvez cliquer sur .
Mon site : http://www.jcz.fr
Bonjour Artemus24,
Ma colonne est typée DECIMAL(12,3) et les valeurs à insérer sont en "virgule" comme 5,55 et Mysql attend 5.55
MERCI.
A+
Salut dari68.
La virgule sera considéré par mysql comme un séparateur de ta chaine de caractères.
Seul la partie entière sera prise en compte et ton nombre sera comme un entier.
@+
Si vous êtes de mon aide, vous pouvez cliquer sur .
Mon site : http://www.jcz.fr
Les types NUMBER et VARCHAR2 n'existent pas dans le langage SQL. Ce sont des types spécifiques à Oracle. Les types de données de la norme SQL sont :
DECIMAL, NUMERIC (pour les nombres en DCB - Décimal Codé Binaire), CHAR, VARCHAR, NCHAR et NVARCHAR pour les littéraux.
Pour vous former au SQL :
https://sqlpro.developpez.com/cours/...fondements/#L6
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager