मेरा मानना है कि आपको यह त्रुटि हो रही है क्योंकि year_exp
फ़ील्ड है DECIMAL(2,2)
, और आप DECIMAL(4,2)
. चाहते हैं . DECIMAL(2,2)
का अर्थ है 2 दशमलव स्थानों तक, सटीक 2 की संख्या। लेकिन इस संख्या में सटीकता के 4 अंक हैं।
एमएसडीएन का यह लिंक दशमलव परिशुद्धता के बारे में बात करता है।
http://msdn.microsoft.com/ en-US/लाइब्रेरी/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)
... और यह त्रुटि प्राप्त हुई ...
(टिप्पणी:मेरी पसंदीदा त्रुटियों में से एक ... "संख्या को संख्या में परिवर्तित नहीं कर सकता ..." हा हा)
3) उचित विनिर्देशों के लिए परिवर्तित कॉलम
ALTER TABLE testtable ALTER COLUMN testcolumn DECIMAL(4,2)
4) एक ही इन्सर्ट स्टेटमेंट को फिर से चलाया। यह काम करता हैं।
कृपया मुझे बताएं कि क्या यह मदद करता है।