PDA

View Full Version : استفاده از Case درشرط



MShirzadi
چهارشنبه 24 فروردین 1390, 14:53 عصر
میخوام بدونم که اگه ما توی شرط از Case استفاده کنیم بهتره یا بخوایم SQL خودمون رو یه صورت String بسازیم و بعد از دستور EXEC('') استفاده کنیم.
یعنی :

Select * from tblA Where
Case When @var IS NULL THEN 1 WHEN @var1 = col1 THEN 1 ELSE NULL END IS NOT NULL

یا

EXEC('Select * from tblA Where @var1 = col1')

توجه: دستور قسمت Where داره چک میشه که اگه @var1 مخالف NULL باشد
میخوام بدونم کدو بهتره چرا؟
:D

محمد سلیم آبادی
چهارشنبه 24 فروردین 1390, 22:55 عصر
1. دستور EXEC اشتباه است. و اینم پیغام خطایی که خواهد داد:
Must declare the scalar variable "@var1".

2. چرا شرط WHERE را اینگونه نمی نویسید:

WHERE @val1 IS NULL OR @val1 = col1