Masukkan penukaran menggunakan MySQL
P粉189606269
P粉189606269 2023-11-02 19:47:58
0
2
703

Saya cuba memasukkan nilai ke dalam jadual dalam MySQL tetapi tidak dapat berfungsi. Saya menggunakan pertanyaan berikut:

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

MySQL memaparkan ralat berikut:

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

Jadual menunjukkan perkara berikut:

Sudah tentu, saya mencipta jadual "articulo" sebelum:

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)
);

Saya telah melihat banyak contoh tentang pemutus, tetapi semuanya menggunakan fungsi pemutus di bawah pilihan kenyataan.

Ada idea apa yang boleh saya lakukan untuk melakukan tindakan yang saya mahukan?

Saya ingin menyimpan $10,000.45999 sebagai nilai perpuluhan ke dalam jadual. Ini akan menjadi 10000.45999

Terima kasih atas sokongan anda!

P粉189606269
P粉189606269

membalas semua(2)
P粉701491897

Anda tidak boleh menggunakan koma atau tanda dolar dalam nilai dalam pertanyaan ini.

Anda boleh menulis semula pertanyaan sebagai:

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

Walau bagaimanapun, jika lajur anda ditakrifkan secara eksplisit sebagai DECIMAL(10,5), tidak perlu menukar nilai kepada perpuluhan.

Cuma tulis:

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

Anda boleh memasukkan nilai dengan nombor tetap. Untuk kes anda, ini sepatutnya berfungsi:

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

Tegasnya, cast() tidak diperlukan, tetapi saya suka mengelakkan penukaran tersirat - ini boleh menyebabkan masalah yang sukar dikesan.

Sila ambil perhatian: Adalah lebih baik untuk memasukkan senarai lajur dalam pernyataan insert.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan