kısmındaki ' 'sütun için'' Minimum eşiği karşılamıyor. Seçme sorgusunu çalıştırırsam, hatasız çalışır. Bir tabloya bir ekleme için kullanmaya çalıştığınızda Ama bu hata mesajHata 1366 - Yanlış ondalık değer: Arka arkaya -1 Ben operatörlerin bir listesini almak ve onlar taşıyıcıları tespit etmek kayıtlara sahip sigorta miktarını karşılaştırmak için çalışıyor oldukça büyük bir sorgu var
[Err] 1366 - Incorrect decimal value: '' for column '' at row -1
ben bu sorgu altındaki ondalık olarak döküm kullanmak zorunda döndürdüğü için saklanan ediliyor değeri veritabanı bir varchardır ve bunu değiştiremiyorum.
Herkes herhangi bir fikir var mı? select
iş gibi görünüyor, o zaman iki olası sorunlar
set @cw_days = 15;
INSERT INTO carrier_dnl (carrier_id, dnl_reason_id, status_id)
SELECT work_cw_carrier_status_update.carrier_id, company_dnl_schema.dnl_reason_id,
CASE
WHEN work_cw_carrier_status_update.comparison_date > @cw_days THEN 1
ELSE 4
END as status
FROM work_cw_carrier_status_update
JOIN company_dnl_schema
ON company_dnl_schema.dnl_reason_id = 51
LEFT OUTER JOIN carrier_insurance
ON carrier_insurance.carrier_id = work_cw_carrier_status_update.carrier_id
WHERE ifnull(carrier_insurance.insurance_type_id,4) = 4
AND date(now()) BETWEEN IFNULL(carrier_insurance.insurance_effective_date,DATE_SUB(now(),INTERVAL 1 day)) AND IFNULL(carrier_insurance.insurance_expiration_date,DATE_ADD(now(),INTERVAL 1 day))
AND CASE WHEN NULLIF(carrier_insurance.insurance_bipdto_amount,'') is null THEN 0 < company_dnl_schema.value
ELSE
ifnull(cast(replace(carrier_insurance.insurance_bipdto_amount, '*','') as decimal),0) < company_dnl_schema.value
END
AND (work_cw_carrier_status_update.b_bulk = 0 OR work_cw_carrier_status_update.b_bulk = 1)
AND (work_cw_carrier_status_update.b_otr = 1 OR work_cw_carrier_status_update.b_ltl = 1
OR work_cw_carrier_status_update.b_dray = 1 OR work_cw_carrier_status_update.b_rail = 1
OR work_cw_carrier_status_update.b_intermodal = 1 OR work_cw_carrier_status_update.b_forwarder = 1
OR work_cw_carrier_status_update.b_broker = 1)
group by work_cw_carrier_status_update.carrier_id;`
Bu hatayı da alıyorum. '' Sütununa sahip olmak ve satır -1'in yanlış ondalık değeriyle ilgili bir hatayı tetiklemesi çok garip. Hiç bir çözüm buldunuz mu? – LarsH
Durumumda, bir sütunun veri türünü varchar'dan (10) ondalık (6, 3) olarak değiştirmeye çalışırken hata oluştu. Sütun zaten 3, 5, 6.1, NULL ... ve bir 'VGA' örneği gibi değerlere sahipti! Bu ikincisi suçlu çıktı; Ancak hata mesajı hala bir anlam ifade etmedi: '', '' sütun '' ve satır -1 'değerleri yanlış olarak bildirildi. – LarsH