PDA

View Full Version : اشكال در خواندن از ديتابيس



happy65_sh
چهارشنبه 19 اسفند 1388, 10:59 صبح
سلام
من توي ديتابيسم اطلاعاتي به شكل زير دارم:



f1 f2 f3
2 1 d
3 1 null
4 3 null
4 3 d


حالا يه كوئري نوشته ام به شكل زير:



select * from table1 where f3<>'d'


اين كوئري بايد سه تا رديف را برگردونه اما فقط يه رديف
n 4 3
را برمي گردونه.:عصبانی++:
دليلش چيه؟؟؟ در ضمن نوع فيلد f3 از نوع nvarchar(1) است.

محمد سلیم آبادی
چهارشنبه 19 اسفند 1388, 11:57 صبح
سلام،
در کوئری که نوشتین از ستون f3 استفاده کردین و بعد گفتین f1 از نوع nvarchar و از طرفی در مثالی که زدین ستون f1 مقدار d داره.

اگر در کوئری f3 رو به f1 اصلاح کنیم از چهار سطری که مثال زدین بایستی صفر سطر انتخاب بشه و اگر null رو در نظر بگیریم دو سطر انتخاب می شه.

در کل نمی تونیم مقادیر null را با عملگرهای مقایسه ای مثل = یا <> مقایسه کنیم. احتمالا کدتون به این شکل بایستی نوشته بشه:

select * from table_name where f1<>'d' or f1 is null