PDA

View Full Version : خروجی select



program103
پنج شنبه 03 فروردین 1391, 00:08 صبح
خروجی یه Select از یه رکورد در صورتی که پیدا بشه یک عدد خواهد بود. سوالم اینه اگر چیزی پیدا نکند چه مقداری بر می گرداند؟؟؟ Null , صفر یا ... ؟؟؟

nedata
پنج شنبه 03 فروردین 1391, 00:25 صبح
اگر count بگيريد كه جواب 0 است در غيراينصورت null

program103
پنج شنبه 03 فروردین 1391, 16:57 عصر
اگر count بگيريد كه جواب 0 است در غيراينصورت null
نه null بر نمی گردونه. ببینید من این دستور را در یک sp می نویسم:

set @number=(select num from table1 where .... and )
حالا می خوام شرط بذارم اگر جواب داشت که عملیات 1 و اگر رکوردی بر نگردوند عملیات 2 را انجام دهد.شرط if گذاشتم:

if @number=null ولی شرط if اجرا نمی شود ، باز تغییر دادم و برابر '' یعنی هیچی قرار دادم باز اجرا نشد. مشکل چیه؟
البته count میتونم برگردونم ولی می خوام بدونم یه select اگر چیزی پیدا نکرد چی بر می گردونه.

nedata
پنج شنبه 03 فروردین 1391, 17:24 عصر
اينطور بنويسيد

if @Number is null

یوسف زالی
پنج شنبه 03 فروردین 1391, 19:21 عصر
Null یک ارزش نیست که مقایسه اش درست باشه.
باید از Is استفاده کنید.

anouri
جمعه 25 فروردین 1391, 20:24 عصر
البته برخورد انواع بانک های اطلاعاتی باهم فرق میکنه مثلا در sqlite اگه count چیزی پیدا نکنه بازن null بر میگردونه ولی در غالب بانک های اطلاعاتی 0 برگشت داده میشه. مثلا در mysql , sql server , postgresql مقدار برگشتی 0 خواهد بود