View Full Version : سوال: دستور case در sql2000
طبیب دل
شنبه 18 اردیبهشت 1389, 02:35 صبح
با سلام
من وقتی از دستور زیر در sql2000 استفاده میکنم
CASE dbo.users.statusHesab when 1 then 'active' when 0 then 'noActive' end as a1
پیغام زیر رو میده
the query designer does not support the case sql construct
ولی وقتی تو sql2005 استفاده میکنم مشکلی نداره چی کار کنم؟ چون باید با sql2000 کار کنم
محمد سلیم آبادی
شنبه 18 اردیبهشت 1389, 15:46 عصر
سلام،
گرچه این مساله برام کمی مشکوک و عجیب هست ولی می تونید از این روش جایگزین استفاده کنید:
--1 active
--0 noActive
declare @i int =0000000000001
SELECT COALESCE(NULLIF((COALESCE(NULLIF(CAST(@i AS CHAR(1)),'1'),'Active')), '0'), 'noActive') AS a1
ASKaffash
یک شنبه 19 اردیبهشت 1389, 10:06 صبح
با سلام
من وقتی از دستور زیر در sql2000 استفاده میکنم
CASE dbo.users.statusHesab when 1 then 'active' when 0 then 'noActive' end as a1
پیغام زیر رو میده
the query designer does not support the case sql construct
ولی وقتی تو sql2005 استفاده میکنم مشکلی نداره چی کار کنم؟ چون باید با sql2000 کار کنم
سلام
در 2000 تست کردم هیچ مشکلی نیست این مثال:
Select *,
A=(Case FID When 1 Then 'S1' When 2 Then 'S2' End)
From T1
لطفا بخش بیشتری از دستور را قرار دهید شاید ایراد چیز دیگری است
محمد سلیم آبادی
یک شنبه 19 اردیبهشت 1389, 14:12 عصر
لطفا بخش بیشتری از دستور را قرار دهید شاید ایراد چیز دیگری است
سلام،
خیلی کم پیدا شدین. دوست دارم بیشتر در این بخش فعالیت کنید تا بلکه از فعالیت مفید شما عزیزان هم استفاده کنیم.
بله، من هم در 2000 امتحان کردم، مساله وجود نداره. به احتمال خیلی زیاد ایراد از مابقی کدهایشان هست که نمایش ندادن.
البته روشی هم که پیشنهاد دادم دقیقا همون جواب را می ده. از ترکیب دو تابع NULLIF , COALESCE اینکار را انجام دادم.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.