PDA

View Full Version : خطا در Sum()



sg.programmer
یک شنبه 26 اردیبهشت 1395, 17:28 عصر
سلام
این دستورم با خطای زیر روبرو میشه - چطور باید رفع کنم؟

SELECT sum([Fee]) FROM tblfee

عنوان خطا

Arithmetic overflow error converting expression to data type int.

ASKaffash
دوشنبه 27 اردیبهشت 1395, 06:59 صبح
سلام
مجموع Fee که یک int است به محدوده bigint منتقل شده از تابع Convert استفاده کنید

sg.programmer
دوشنبه 27 اردیبهشت 1395, 21:24 عصر
تشکر

چطور میتونم در محدوده int که برابر

int

-2^31 (-2,147,483,648) to 2^31-1 (2,147,483,647)
4 Bytes


هست قسمت منفی را حذف کرد و به قسمت مثبت اضافه کرد؟ مثلا sing , unsing در برنامه نویسی داشتیم در SQL هم استفاده کنیم.
معادل با unsigned int در اسکیوال

ASKaffash
چهارشنبه 29 اردیبهشت 1395, 12:30 عصر
سلام
با این کار دامنه چقدر بیشتر میشود (ضربدر 2 ) بهتر است Cast کنید به حدود 19 رقم

sg.programmer
چهارشنبه 29 اردیبهشت 1395, 16:07 عصر
سلام
با این کار دامنه چقدر بیشتر میشود (ضربدر 2 ) بهتر است Cast کنید به حدود 19 رقم

سلام میشه بگید چطور؟ تو همون int جا میشه؟ مثال میزنید؟

ASKaffash
یک شنبه 02 خرداد 1395, 17:05 عصر
سلام
اینطوری Cast کنید :
Select Sum(Convert(Bigint,Fee)) From TblFee