2012-12-19 2 views
0

У меня есть 2 битовых столбцы в таблице активного и подвешенной Активная колонка уже содержит значение но приостановлено колонна еще нулевойПетли для обновления строк с условием

Как я могу заполнить приостановлено поле со значениями, которые противоположны активным?

Я застрял в этом коде ..

Declare @suspended bit; 

--some conditions 

Update Users_mock 
Set Suspended = @Suspended; 
+0

Противоположные средства 0 на 1 и 1 на 0? – TechDo

+0

http://stackoverflow.com/questions/173717/sql-server-copying-column-within-table и использовать «case» для обновления col –

ответ

0

Пожалуйста, попробуйте:

Update Users_mock 
Set Suspended = 1-Active; 
2

Простое case заявление должно работать:

Update userM 
Set suspend = case active when 0 then 1 else 0 end 
1

Вы можете проверить это Update sql bit field in database.

В нем говорится: ** Биты в SQL Server всегда сохраняются как 1 или 0 в растровом изображении. **

Вы можете использовать where, if-else или case для обновления столбца.

1

выберите абс (CONVERT (ИНТ @ условно) -1)

1

Попробуйте это:

update Users_mock 
set Suspended = case when active=1 THEN 0 
else 1 
end 
Смежные вопросы