
 نوشته شده توسط 
حمیدرضاصادقیان
					
				 
				این دستور داره میگه که اگه پارامتر بهش ارسال شد ، همون مقدار رو بیار اگر نشد کل رکوردهارو بیار . یعنی اگه null به این پارامتر پاس بدین کل رکوردهارو میاره.
کار این تابع این هست که نگاه میکنه اولین پارامتر اگه مقدار داشته باشه اونو میذاره اگه نه مقدار دوم رو میذاره.
کدی که نوشتین رو بذارید
			
		 
	 
 سلام
این هم از کد :
                SELECT      sanad_master.serial, sanad_master.tarikh, 
                            sanad_master.ta_madrak, sanad_master.ser_madrak, sanad_master.bes, sanad_master.bed, sanad_master.moghayerat, sanad_master.exp0
                FROM        bank LEFT OUTER JOIN
                            sanad_master ON bank.tafsili2 = sanad_master.tafsili2 AND bank.tafsili1 = sanad_master.tafsili1 AND bank.moin = sanad_master.moin AND 
                            bank.kol = sanad_master.kol AND bank.group_hesab = sanad_master.group_hesab
                WHERE
                            (sanad_master.exp0= Coalesce(@exp0,sanad_master.exp0))
                order by    sanad_master.tarikh desc
 تصویر زیر زمانی هست که دستور where  رو حذف می کنم. و نتیجه رو نشون میده
این تصویر مربوط به زمانی هست که دستور where رو اضافه می کنم
این و هم بگم که از توی خود نرم افزار هم هیمن جوریه. ولی برای کمک کردن راحت شما دستور رو توی SQL نشون دادم. اگر فیلد exp0 رو روی توی تیبل مقدار خاصی بهش بدم، شرط به درستی کار میکنه. ولی اگر null باشه همچین مشکلی به وجود میاد
با تشکر
ممنون میشم که کمک کنید. خیلی روی اعصابمه