Insérer une conversion à l'aide de MySQL
P粉189606269
P粉189606269 2023-11-02 19:47:58
0
2
650

J'essaie d'insérer une valeur dans une table dans MySQL mais je n'arrive pas à la faire fonctionner. J'utilise la requête suivante :

INSERT into articulo values (32,'Sala',CAST(',000.45999' AS DECIMAL(10,5)),40.2399,200.2399,3,'kid 3');

MySQL affiche l'erreur suivante :

1 row(s) affected, 1 warning(s): 1292 Truncated incorrect DECIMAL value: ',000.45999'

Le tableau montre ce qui suit :

Bien sûr, j'ai créé le tableau "articulo" avant :

CREATE Table articulo
(
 id_art int NOT NULL,
 nom_art varchar (25) DEFAULT 'XXXXXXXXXXXXX',
 prec_art decimal (10,5) DEFAULT 0.000,
 peso_art decimal (10,5),
 existencia float,
 color_art int, CONSTRAINT chk_color1 CHECK (color_art between 0 and 20),
 um_art varchar (10) DEFAULT 'DEF_PZA',
 primary key (id_art)
);

J'ai vu de nombreux exemples de diffusion, mais ils utilisent tous la fonction de diffusion sous sélection déclaration.

Avez-vous une idée de ce que je peux faire pour effectuer l'action que je souhaite ?

Je souhaite stocker 10 000,45999 $ sous forme de valeur décimale dans un tableau. Ce sera 10000.45999

Merci pour votre soutien !

P粉189606269
P粉189606269

répondre à tous(2)
P粉701491897

Vous ne pouvez pas utiliser de virgules ou de signes dollar dans les valeurs de cette requête.

Vous pouvez réécrire la requête comme :

INSERT into articulo values (32,'Sala',CAST('10000.45999' AS DECIMAL(10,5)),40.2399,200.2399,3,'kid 3');

Cependant, si votre colonne est explicitement définie comme DECIMAL(10,5), il n'est pas nécessaire de convertir les valeurs en décimales.

Écrivez simplement :

INSERT into articulo values (32,'Sala',10000.45999,40.2399,200.2399,3,'kid 3');
P粉587780103

Vous pouvez insérer des valeurs par nombres fixes. Pour votre cas, cela devrait fonctionner :

INSERT into articulo 
    SELECT 32, 'Sala',
           CAST(REPLACE(REPLACE(',000.45999', ',', ''), '$', '') AS DECIMAL(10,5)),
           40.2399, 200.2399, 3, 'kid 3';

À proprement parler, cast() n'est pas obligatoire, mais j'aime éviter les conversions implicites - elles peuvent causer des problèmes difficiles à détecter.

Veuillez noter : il est préférable d'inclure la liste des colonnes dans la déclaration insert.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!