еще если в цкл - PullRequest
       1

еще если в цкл

0 голосов
/ 05 октября 2010

Я должен обновить таблицу, и я не могу использовать еще, если в TSQL.Это существует?

Status =
(
CASE
WHEN
(Status in (0))
THEN
0
ELSE IF Status in (1)
THEN 
7
ELSE
Status
END

Ответы [ 5 ]

3 голосов
/ 05 октября 2010

Синтаксис CASE WHEN поддерживает несколько условий:

Status = CASE WHEN Status = 0 THEN 0
              WHEN Status = 1 THEN 7
              ELSE Status
         END

Поскольку вы сравниваете одно и то же поле на равенство в обоих случаях, вы можете использовать более короткую запись:

Status = CASE Status WHEN 0 THEN 0
                     WHEN 1 THEN 7
                     ELSE Status
         END
1 голос
/ 05 октября 2010

попробуй

 Status =
(
CASE
WHEN
(Status in (0))
THEN
0
WHEN Status in (1)
THEN 
7
ELSE
Status
END 
1 голос
/ 05 октября 2010

Вы должны использовать следующий синтаксис:

Status =
    (CASE WHEN (Status in (0)) THEN 0
          WHEN (Status in (1)) THEN 7
          ELSE Status
     END)
1 голос
/ 05 октября 2010

Используйте снова СЛУЧАЙ КОГДА:

Status = CASE WHEN Status in (0)
                THEN 0
                ELSE CASE WHEN Status in (1)
                            THEN 7
                            ELSE Status
                     END
         END

или

Status = CASE WHEN Status in (0) THEN 0
              WHEN Status in (1) THEN 7
              ELSE Status
         END
0 голосов
/ 05 октября 2010

Да, вы можете использовать операторы IF в SQL.Проверьте это

   Declare @x int
    set @x = 29
    if @x = 29 print 'The number is 29'
    if @x = 30 print 'The number is 30'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...