PDA

View Full Version : عدم انجام پرس و جو



arsalansalar
یک شنبه 21 خرداد 1391, 17:18 عصر
با سلام
من کد زیر و استفاده می کنم و می خواهم دستور select زیر و استفاده کنم.ولی هرکاری می کنم این پرس و جو انجام نمی شود:


SELECT family
FROM [Omid1].[dbo].[noskh3]
where ezaf = null

Hybrid
یک شنبه 21 خرداد 1391, 18:18 عصر
سلام ، 2 تا حالت امکان داره .

1 ) اسم جدول رو خوب ننوشتی ، مثلا به صورت مستقیم بنویس، با فرض اینکه اسم جدول شما Table1 هست :

Select * from noskh3 where ezaf=null

2 ) ممکنه فیلد ezaf در پایگاه داده شما مقدار null نداشته باشه یعنی به جای null صفر باشه که فرق میکنن.

arsalansalar
یک شنبه 21 خرداد 1391, 18:49 عصر
حالت دوم هست.یعنب دربانکم مقدار دیفالت این فیلد صفر هست.یکسری رکوردها دارای مقدار صفر و یکسری داری مقدار null هست.حالا من می خواهم اونها که دارای مقدار null هست و برگردونم.

Hybrid
یک شنبه 21 خرداد 1391, 20:52 عصر
نه فکر نمیکنم درست باشه ، اگه مقدار دیفالت اون فیلد برابر 0 باشه پس دیگه نمیتونه مقدار null داشته باشه ،

خاصیت AllowNull فیلد مربوطه رو برابر True کردین؟

cherchil_hra
دوشنبه 22 خرداد 1391, 07:34 صبح
با سلام
من کد زیر و استفاده می کنم و می خواهم دستور select زیر و استفاده کنم.ولی هرکاری می کنم این پرس و جو انجام نمی شود:


SELECT family
FROM [Omid1].[dbo].[noskh3]
where ezaf = null

درحالت استاندارد شما نمی توانی از = یا <> برای مقدار null استفاده کنی پس کد شما این شکلی میشه
SELECT family
FROM [Omid1].[dbo].[noskh3]
where ezaf is null

اگر شما می خواهی از این عملگرها استفاده کنی
1. داخل کوئری set ANSI_NULLS off بذار و یا
2.پیش فرض بانکت:کلیک راست روی بانکت| Properties| از ستون سمت راست options | مقدار ANSI NULL Enable برابر true قرار میدی