ورود

View Full Version : سوال: جمع دو ستون در يك جدول



mehrnaz_ss
پنج شنبه 06 خرداد 1389, 03:42 صبح
با سلام
من يك جدول دارم و دو ستون از اين جدول از نوع int هستند حالا من مي خوام دستوري بنويسم كه جمع دو مقدار از اين دوستون كه در يك ركورد هستند رو برگردونه در حالت معمولي بايد بنويسم:
select col1+col2 from table
ولي مشكلم اينه كه اگه يكي از ستون ها null باشه نتيجه هم null مي شه .
مي شه لطفا راهنمايي كنيد.

محمد سلیم آبادی
پنج شنبه 06 خرداد 1389, 08:15 صبح
SELECT COALESCE(col1, 0) + COALESCE(col2, 0) AS Sum FROM t

mehrnaz_ss
پنج شنبه 06 خرداد 1389, 11:52 صبح
واقعا لطف كرديد خيلي متشكرم.

armiin
پنج شنبه 06 خرداد 1389, 14:02 عصر
SELECT COALESCE(col1, 0) + COALESCE(col2, 0) AS Sum FROM t
فرق COALESCE با Isnull چیه ؟

محمد سلیم آبادی
پنج شنبه 06 خرداد 1389, 14:07 عصر
فرق COALESCE با Isnull چیه ؟

ISNULL ویژه ی SQL Server هست ولی COALESCE استاندارد هست (ANSI SQL)
ISNULL تنها دو پارامتر دارد. ولی COLAESCE می تواند بیش از دو پارامتر داشته باشد (در واقع COALESCE اولین مقدار مخالف NULL را بر می گرداند).