دلیل خطای Arithmetic overflow error converting expression to data type int
در Sql Server کویری زیر رو نوشتم ولی با خطا روبرو میشم.
Select sum(up.PackageMainPrice)
From UserPackage_Tbl up Join Package_Tbl p on up.PackageID = p.PackageID
where up.ActiveDeActive = 0 and PackageMainPrice > 0
در واقع میخوام مجموع مقادیر فیلد PackageMainPrice رو محاسبه و نمایش بدم.
خطای دریافتی :
Msg 8115, Level 16, State 2, Line 1
Arithmetic overflow error converting expression to data type int.
پاسخ هوش مصنوعی
خطای "Arithmetic overflow error converting expression to data type int" به این معنی است که مقدار مجموعی که می خواهید محاسبه کنید، از محدوده نوع داده ی int
بیشتر است. در SQL Server، نوع داده int
می تواند مقادیری از -2,147,483,648
تا 2,147,483,647
را نگه داری کند.
برای رفع این خطا، می توانید نوع داده ورودی را به bigint
تغییر دهید یا از تابع CAST
برای تبدیل نوع داده استفاده کنید. در زیر یک نمونه از نحوه انجام این کار آورده شده است:
Select sum(cast(up.PackageMainPrice as bigint))
From UserPackage_Tbl up Join Package_Tbl p on up.PackageID = p.PackageID
where up.ActiveDeActive = 0 and PackageMainPrice > 0
استفاده از bigint
به شما اجازه می دهد که مقادیر بزرگتری را محاسبه کنید بدون اینکه با خطای سرریز مواجه شوید.
دلیل خطای Arithmetic overflow error converting expression to data type int در Sql Server
دلیل این خطا سرریز شدن مقدار هست. یعنی شما یک فیلد دارید به نام PackageMainPrice که احتمالا از نوع int تعریفش کردید و در کوئری میخواید از Sum استفاده کنید. خطای شما به این خاطر هست که مقدار جمع مقادیر از مقدار مجاز int بیشتر شده. باید کوئری خودتون رو به صورت زیر تغییر بدید.
Select sum(Cast(up.PackageMainPrice As Bigint))
From UserPackage_Tbl up Join Package_Tbl p on up.PackageID = p.PackageID
where up.ActiveDeActive = 0 and PackageMainPrice > 0
توسط متد Cast مشخص می کنیم که بیشتر از مقدار int هم بتونیم جمع کنیم و نمایش بدیم.
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- حذف کامل یک رکورد در جدول ریلیشن شده
- مقایسه ساختار دو دیتابیس در Sql Server
- اشکال در ایجاد کلید خارجی در Sql Server
- تفاوت اوراکل و Sql Server چیست
- جابه جایی سطر و ستون در Sql Server
- استفاده از Stored Procedure در انتیتی فریم ورک code First
- آپدیت لیستی از رکوردها در Sql Server - آپدیت گروهی اطلاعات در Sql Server
- دلیل پرش 1000 تایی خودکار فیلد identity در Sql server
- مشکل نمایش ندادن Data Type موقع تایپ در Sql Server
- کار با تاریخ شمسی وساعت (استفاده از توابع )