ورود

View Full Version : مشکل در sum گرفتن از فیلد های real



firststep
جمعه 20 اردیبهشت 1392, 14:16 عصر
با سلام و عزض خسته نباشید خدمت شما دوستان عزیز

من یک table دارم که یه فیلده price داره از نوع real
حالا زمانی که مخوام از این فیلد sum بگیرم یک اتفاق عجیبی می یفته
کوری من به این شکله


SELECT SUM(price) AS mande_price
FROM dbo.cash_madan
WHERE (id <19) AND (id_madan = 1)




و بعد رد پاسخ



mande_price

2606540.20001221



در صورتی که فقط تا سه رقم اول اعشاری درسته نمی دونم چرا
یعنی من اصلاً مقداری توی این فیلد با ارقام اعشاری 00001221. ندارم که بخواد همچین جوابی رو پس بده
ممنون می شم راهنمایی بفرمایید

tooraj_azizi_1035
جمعه 20 اردیبهشت 1392, 15:24 عصر
یه SELECT TOP 10 روی dbo.cash_madan بزن نتیجه رو بذار.

beh_develop
شنبه 21 اردیبهشت 1392, 00:33 صبح
خاصیت فیلد های real همینه، مشکلی تو qury نیست.

یا بعد از sum نتیجه رو جزء صحیح ازش بگیر.
یا اگه مقدار اعشاری لازم داری، نوع داده رو از real به decimal یا money تبدیل کن

N_D
شنبه 21 اردیبهشت 1392, 09:30 صبح
اینجوری بنویس




SELECT SUM(cast(price as decimal(18,3)) ) AS mande_price
FROM dbo.cash_madan
WHERE (id <19) AND (id_madan = 1)

firststep
یک شنبه 22 اردیبهشت 1392, 15:25 عصر
سلام ممنونم از پاسختون خوب دلیلش چیه من نیاز دارم به اعشاری وقتی هم که تعداد رکورد ها زیاد باشند کلاً اشتباه میشه
حالا من یک جوره دیگه حلش کردم قبل از اینکه بخام بزارمشون توی sum و round اون کردم تا سه رقم اعشاری اما یه دلیلی باید داشته باشه.. خوب؟؟؟؟؟