Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Условный оператор в транс-скл  [new]
wh
Member

Откуда: Kiev
Сообщений: 85
Люди, подскажите аналог оператора на с++ в скл
(условие) ? значение1 : значение2
23 авг 05, 19:02    [1811566]     Ответить | Цитировать Сообщить модератору
 Re: Условный оператор в транс-скл  [new]
Berg
Member

Откуда: Кр-ск
Сообщений: 3480
1) IF ...THEN ... ELSE...
2) CASE WHEN ... THEN ... END
23 авг 05, 19:08    [1811589]     Ответить | Цитировать Сообщить модератору
 Re: Условный оператор в транс-скл  [new]
wh
Member

Откуда: Kiev
Сообщений: 85
а если нужно в запросе но без вызова ф-и
напр
select id, name, ((sex=='M')?1:2) as sex_id from.....

тут sex_id = 1 если мужчина и 2 - в другом случае. вот что имею в виду
23 авг 05, 19:12    [1811599]     Ответить | Цитировать Сообщить модератору
 Re: Условный оператор в транс-скл  [new]
Berg
Member

Откуда: Кр-ск
Сообщений: 3480
wh
а если нужно в запросе но без вызова ф-и
напр
select id, name, ((sex=='M')?1:2) as sex_id from.....

тут sex_id = 1 если мужчина и 2 - в другом случае. вот что имею в виду


Тогда вариант 2)

 CASE WHEN (sex='M') THEN 1 ELSE 2 END AS sex_id 
23 авг 05, 19:13    [1811603]     Ответить | Цитировать Сообщить модератору
 Re: Условный оператор в транс-скл  [new]
wh
Member

Откуда: Kiev
Сообщений: 85
сенкс)
23 авг 05, 19:15    [1811610]     Ответить | Цитировать Сообщить модератору
 Re: Условный оператор в транс-скл  [new]
wh
Member

Откуда: Kiev
Сообщений: 85
Пишу
SELECT MAIL AS Адрес, (CASE WHEN (IS_DEFAULT = 'Y')
THEN IS_DEFAULT = 'Да) ELSE IS_DEFAULT = ' Нет ' end)
FROM TC_MAILS
WHERE (CLIENT_ID = 200001887)

пишет что ошибка возле "="
23 авг 05, 19:28    [1811631]     Ответить | Цитировать Сообщить модератору
 Re: Условный оператор в транс-скл  [new]
ChA
Member

Откуда: Москва
Сообщений: 11128
wh
Пишу
SELECT MAIL AS Адрес, (CASE WHEN (IS_DEFAULT = 'Y')
THEN IS_DEFAULT = 'Да) ELSE IS_DEFAULT = ' Нет ' end)
FROM TC_MAILS
WHERE (CLIENT_ID = 200001887)

пишет что ошибка возле "="
SELECT
  MAIL AS Адрес
  , (CASE IS_DEFAULT WHEN = 'Y' THEN 'Да' ELSE 'Нет' END) AS ISDEFAULT
FROM TC_MAILS
WHERE CLIENT_ID = 200001887
?
23 авг 05, 20:06    [1811681]     Ответить | Цитировать Сообщить модератору
 Re: Условный оператор в транс-скл  [new]
ChA
Member

Откуда: Москва
Сообщений: 11128
ChA
Sorry
SELECT
  MAIL AS Адрес
  , (CASE IS_DEFAULT WHEN 'Y' THEN 'Да' ELSE 'Нет' END) AS ISDEFAULT
FROM TC_MAILS
WHERE CLIENT_ID = 200001887
23 авг 05, 20:07    [1811684]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить