Если заявление в моем SQL Server 2008 выбрать или мой запрос на обновление? - PullRequest
1 голос
/ 22 апреля 2011

Могу ли я иметь оператор IF в моем запросе выбора или в запросе на обновление?

Я хочу установить другие значения на основе некоторых значений подстроки в моей БД.

Ответы [ 4 ]

1 голос
/ 22 апреля 2011

вы бы использовали оператор CASE

select case Column when 'a' then 'bla' else 'not bla' end as SomeColumn
from SomeTable

Пример выполнения

select case xtype 
when 'p' then 'stored procedure' 
when 'd' then 'default'
when 'u' then 'table'
else 'something else' end as SomeType
 from sysobjects
0 голосов
/ 22 апреля 2011

Да, вы можете использовать case

0 голосов
/ 22 апреля 2011

Используйте выражение CASE, чтобы сделать такие оценки частью вашего SELECT.

Вот пример из MSDN:

SELECT   ProductNumber, Category =
      CASE ProductLine
         WHEN 'R' THEN 'Road'
         WHEN 'M' THEN 'Mountain'
         WHEN 'T' THEN 'Touring'
         WHEN 'S' THEN 'Other sale items'
         ELSE 'Not for sale'
      END,
   Name
FROM Production.Product
0 голосов
/ 22 апреля 2011

Конечно, вы можете

... SET field = CASE WHEN cond THEN val1 ELSE val2 END, ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...