Аналог функции IIf в SQL Server

Гальчук Леонид
Дата: 27.09.2005 12:53:56
Есть запрос mdb:
Select *,
IIf(Брак = True Or IsNull(ПериодПов); Null; DateAdd("m"; ПериодПов; ДатаВыполн) As СледПов
FROM табСредстваИзмерения
То есть, если брак или нет периода поверки, значение следующей поверки Null, в противном случае получаем значение следующей поверки прибавлением периода поверки к дате выполнения.
Подскажите, пожалуйста, как написать представление, аналогичное этому запросу на SQL Server.
Konst_One
Дата: 27.09.2005 13:03:38
CASE ... WHEN ... THEN ... ELSE ...
Гальчук Леонид
Дата: 27.09.2005 13:14:23
Спасибо, получилось:
SELECT     *, 
 CASE Брак 
 WHEN 1 THEN NULL 
 WHEN 0 THEN CASE ПериодПров 
                    WHEN NULL THEN NULL ELSE DATEADD(m, 
                      ПериодПров, ДатаВыполн) 
                    END  
 END AS СледПов
FROM         табСредстваИзмерения
sraider
Дата: 27.09.2005 16:51:35
мой совет - приучись писать полные названия периодов - типа DateAdd(Month, ...) вместо DateAdd(m, ...). Лучше читается и не будет ошибок - чтобы месяц с минутой не путался.
Konst_One
Дата: 27.09.2005 17:04:41
минуты - n
месяц - m

никак не перепутать :)