Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Что может конструкция IIF ? ( MS SQL) [MSSQL]


Alex7 ©   (2008-06-24 09:35:00) 

Доброго времени суток, уважаемые мастера!
Подскажите пожалуйста, необходимо реализовать выборку, текст запроса которай предполагаю выглядит так:
SELECT IIF(FIELD1=0, FIELD2, FIELD1) AS FIELD3 FROM ...
этот текст возбуждает ошибку некорректный синтаксис около FIELD1.
Поиск по сайту дал примеры конструкций, но только с условием "FIELD1 IS NULL", а нужна проверка на ноль.
Спасибо.


Ega23   (2008-06-24 13:43:00) [1]


> ЮЮ ©   (24.06.08 10:26) [3]




Examples
A. Use a SELECT statement with a simple CASE function
Within a SELECT statement, a simple CASE function allows only an equality check; no other comparisons are made. This example uses the CASE function to alter the display of book categories to make them more understandable.

USE pubs
GO
SELECT   Category =
     CASE type
        WHEN 'popular_comp' THEN 'Popular Computing'
        WHEN 'mod_cook' THEN 'Modern Cooking'
        WHEN 'business' THEN 'Business'
        WHEN 'psychology' THEN 'Psychology'
        WHEN 'trad_cook' THEN 'Traditional Cooking'
        ELSE 'Not yet categorized'
     END,
  CAST(title AS varchar(25)) AS 'Shortened Title',
  price AS Price
FROM titles
WHERE price IS NOT NULL
ORDER BY type, price
COMPUTE AVG(price) BY type
GO



В BOL и так и так пишуть. Я равно предпочитаю, а не as.


stas   (2008-06-24 13:41:00) [2]

ЮЮ ©   (24.06.08 10:26) [3]
Какая разница? мне так удобнее, код получается понятнее (для меня)


ЮЮ   (2008-06-24 10:26:00) [3]

> FIELD3=CASE WHEN FIELD1=0 THEN  FIELD2 ELSE FIELD1 END

это к чему ?

SELECT CASE WHEN FIELD1=0 THEN  FIELD2 ELSE FIELD1END AS FIELD3 FROM …
или
SELECT CASE FIELD1 WHEN 0 THEN FIELD2 ELSE FIELD1END AS FIELD3 FROM …


Alex7   (2008-06-24 10:25:00) [4]

Большое спасибо! Все работает.


stas   (2008-06-24 09:59:00) [5]

FIELD3=CASE WHEN FIELD1=0 THEN  FIELD2 ELSE FIELD1 END


Наверх

Титульная страница Поиск, карта сайта Написать письмо