PDA

View Full Version : اندر مشکلات تابع IsNull



Behrouz_Rad
پنج شنبه 28 مهر 1384, 08:23 صبح
سلام.
احتمالا این مشکل تا حدی غیر منطقی به نظر می رسه.
اما:


SELECT @myVariable = IsNull(myIntegerField , 0)
FROM myTable

این دستور همیشه مقدار NULL رو بر می گردونه!
?any idea

سید مسعود موحد
پنج شنبه 28 مهر 1384, 11:16 صبح
یعنی رکوردی برای نمایش دارد و Null بر میگرداند.

titbasoft
پنج شنبه 28 مهر 1384, 11:27 صبح
منظورتون اینه که تابع isnull مقدار null برمیگردونه؟ :متعجب:

majid_afra222
پنج شنبه 28 مهر 1384, 12:59 عصر
سلام

درسته منم به این مشکل برخوردم بجاش از تابع NULLIF استفاده می کنم.

titbasoft
پنج شنبه 28 مهر 1384, 13:18 عصر
نکنه مشکل type casting دارید! چون در اون حالت عملیات fail شده پس اصلا نتیجه isnull توی متغیرتون جا نگرفته و null مونده.

sarami
پنج شنبه 28 مهر 1384, 14:19 عصر
نمی دونم منظورتون اینه یا نه ولی نوشتمش به امید اینکه منظورتون همین باشه
SELECT @myVariable = case when (myIntegerField)is null then 0 else myinteger field end)
FROM myTable

Behrouz_Rad
شنبه 30 مهر 1384, 22:43 عصر
مشکل حل شد!
یک سوتی داده بودم که برطرفش کردم.
ممنون از همه ی دوستان.

titbasoft
یک شنبه 01 آبان 1384, 05:50 صبح
ممکنه بگید مشکل چی بود ، چون ممکنه برای خیلی ها پیش بیاد!

Behrouz_Rad
یک شنبه 01 آبان 1384, 17:14 عصر
مشکل این بود که در Table هیچ رکوردی وجود نداشت!
این تابع مقادیر null موجود در هر فیلد را با مقدار تعیین شده در آرگومان دوم جایگزین می کند.
در صورتی که هیچ رکوردی وجود نداشته باشد یا دستور مقابل شرط Where مقداری را برگشت ندهد، مقدار برگشتی تابع، مقدار null خواهد بود که باید از طریق کدنویسی این مورد را چک کرد.
موفق باشید.

sarami
دوشنبه 02 آبان 1384, 02:33 صبح
تشویق سر کار بودیم هممون

سید مسعود موحد
چهارشنبه 04 آبان 1384, 10:51 صبح
پس حدس من درس بود