PDA

View Full Version : خطا در ضرب دو عدد بزرگ در sql



HASAN604
دوشنبه 30 آبان 1390, 08:41 صبح
با سلام
من میخوام دو فیلد رو ضرب کنه و بهم بده با اعداد کوچک مشکلی نداره ولی با میلیاردو اینا ارور میده
kala.gheymat * selkala.tedad AS plus FROM TB..
متن خطا

The provider could not determine the Int32 value. For example, the row was just created, the default for the Int32 column was not available, and the consumer had not yet set a new Int32 value.
ممنون میشم راهنماییم کنید

یوسف زالی
دوشنبه 30 آبان 1390, 22:03 عصر
نوع فیلد هاتون چیه؟

HASAN604
چهارشنبه 02 آذر 1390, 12:17 عصر
نوع فیلدها number

Hasibsoft
چهارشنبه 02 آذر 1390, 19:08 عصر
بهتره فیلد قیمت را ازنوع money یا bigint در نظر بگیرید تا مشکلتان حل شود
یا بصورت زیر بنویسید

select convert(money,kala.gheymat) * selkala.tedad AS plus FROM TB

یوسف زالی
چهارشنبه 02 آذر 1390, 21:53 عصر
راستش من ترجیج می دم decimal رو به کار ببرم و همون رو هم توصیه می کنم.
decimal تا 38 رقم جا داره که در حالت معمولی 18 رقم اون قابل استفاده هست.
می تونید با تعریف decimal(38, 0) -- sql از اون دقت استفاده کنید.