year_exp
が原因で、このエラーが発生していると思います フィールドはDECIMAL(2,2)
です 、およびDECIMAL(4,2)
が必要です 。 DECIMAL(2,2)
小数点以下2桁までの精度2の数値を意味します。ただし、この数値の精度は4桁です。
このMSDNへのリンクでは、小数の精度について説明しています。
http://msdn.microsoft.com/ en-US / library / ms187746(v =SQL.90).aspx
これが同様の結果の簡単なテストです(SQL Server 2008で実行されましたが、MySQLを使用していると思います...)
1)テスト列を含むテーブルを作成しました:
CREATE TABLE testtable (testcolumn DECIMAL(2,2))
2)挿入ステートメントを実行しました...:
INSERT INTO testtable (testcolumn) VALUES (23.45)
...そしてこのエラーを受け取りました...
(コメント:私のお気に入りのエラーの1つ...「数値を数値に変換できません...」ハハ)
3)カラムを適切な仕様に変更
ALTER TABLE testtable ALTER COLUMN testcolumn DECIMAL(4,2)
4)同じ挿入ステートメントを再実行しました。できます。
これが役に立ったら教えてください。