1. ホーム
  2. mysql

[解決済み] SQLSTATE[22003]: 数値の範囲外: 1264 範囲外の値です。

2022-02-11 15:52:24

質問

の場合、WAMPサーバーからの10進数は(5,2)になります。 私のQueryException。

SQLSTATE[22003]: 数値の範囲外: 1264 1行目の列 'converted_1000ml' の範囲外の値 (SQL: insert into ``Converted_1000ml'') inventory_databanks ( product_desc , nc_os , ncos_value , del , ei , sa , wh , bi , brand , variant , type , content , conversion_1000ml , **converted_1000ml** , os , bo , peso_sales , bo_case , os_case , del_case , wh_case , sa_case , price , facing , maker , merchandiser_name , complete_address , source_type , payroll_period , cellphone , schedule , area , region , province , city_municipality , outlet , edi_branch , salesman , ns_case1 , ns_case2 , ns_case3 , ns_bottles1 , ns_bottles2 , ns_bottles3 , ns_date1 , ns_date2 , ns_date3 , date_started , inventory_date , updated_at , created_at ) 値 (Emperador_Light 1000mL Light Brandy, With Stocks, With Stocks, 2400 , 4734, 78, 4656 , 245, Emperador_Light, ブランデー, オリジナル, 1000, 1.00, 4734.00, 0, 0, -229790, 0, 0, 0, 110.00. 00, 13, EDI, Rodolfo Siongco Jr, null, 在庫表より, 2018/01/16 - 2018/01/31, 09303243249, T-TH-S, Central Luzon, Region III, Bataan, Mariveles, CORA'S, Pampanga Branch, Angelito Quetua, 0, 0, 0, 0, 2018-01-31, 2018-01-31, 2018-01-16, 1970-01-01, 2018-02-08 08: 49:48, 2018-02-08 08:49:48))

どうすれば直るのでしょうか?太字の数字が私の問題だと思います。

解決方法を教えてください。

decimal (5,2) は -999.99 から 999.99 の範囲です。大きな値を保持するために、その列を変更する必要があります。

給料 DECIMAL(5,2)

この例では、5が精度、2が目盛りになっています。精度は値に対して格納される有効桁数を表し、スケールは小数点の後に格納できる桁数を表します。

標準SQLでは、DECIMAL(5,2)は5桁と小数点以下2桁の任意の値を格納できることが要求されているので、salary列に格納できる値は-999.99から999.99までの範囲となります。

ドキュメンテーション