ورود

View Full Version : شرط در دستورات sql



علی فتحی
سه شنبه 07 شهریور 1396, 00:53 صبح
با سلام: دو مقادیر منفی و مثبت در یک ستون جدول دارم چگونه می توان مقادیر منفی رو صفر قرارداد؟

این کدو نوشتم ولی اخطار میده

SELECT kodkol, kolname, Debit, Credit, M1, M2, IIF(M1, 0) AS Expr2
FROM dbo.View1

Mahmoud.Afrad
سه شنبه 07 شهریور 1396, 06:47 صبح
پارامتر اول باید یک عبارت(شرط) boolean باشه. اگر شرط درست بود پارامتر دوم و اگر نبود پارامتر سوم رو return میکنه.
https://docs.microsoft.com/en-us/sql/t-sql/functions/logical-functions-iif-transact-sql
در مورد شما
IIF(M1<0 , 0 , M1)

علی فتحی
سه شنبه 07 شهریور 1396, 18:24 عصر
این ارور رو میده : Error in list of function arguments: '<' not recognized.Unable to parse query text.

Mahmoud.Afrad
سه شنبه 07 شهریور 1396, 22:47 عصر
احتمال میدم ورژن sql server شما این فانکشن رو ساپورت نمیکنه. توی اون لینکی که گذاشتم ، ورژن رو زده 2012 به بالا.
در اینصورت از Case استفاده کنید
,(case when m1<0 then 0 else m1 end)

علی فتحی
چهارشنبه 08 شهریور 1396, 01:56 صبح
متصفانه با هیچ کدوم موفق نشدم ممنون میشم یک نمونه بسازین . sql 2008 ویزوال 2010

Mahmoud.Afrad
چهارشنبه 08 شهریور 1396, 13:39 عصر
SELECT kodkol, kolname, Debit, Credit, M1, M2, (case when M1<0 then 0 else M1 end) AS Expr2
FROM dbo.View1