Я пытаюсь обновить столбец статуса этой таблицы, и я использовал следующее: UPDATE table_a SET status = CASE WHEN test_group LIKE 'Control' THEN 0 WHEN test_group NOT LIKE 'Control' THEN ...

0
Sam Pickwick 10 Фев 2021 в 02:50

3 ответа

Лучший ответ

Второе условие вам не нужно. Но вам нужны подстановочные знаки для LIKE. Я бы посоветовал:

UPDATE table_a
  SET status = (CASE WHEN test_group LIKE '%Control%' THEN 0 ELSE 1 END);

Во многих базах данных вы можете упростить это до:

UPDATE table_a
  SET status = (test_group NOT LIKE '%Control%');
1
Gordon Linoff 10 Фев 2021 в 00:23

UPDATE table_a SET status = CASE WHEN test_group LIKE '% Control%' THEN 0 WHEN test_group NOT LIKE '% Control%' THEN 1 END;

0
Андрей Астафьев 9 Фев 2021 в 23:56

Попробуйте это (T-SQL):

UPDATE table_a
  SET status = CASE 
    WHEN charindex('Control', test_group)>0 THEN 0
    ELSE 1
END;
0
dzhukov 9 Фев 2021 в 23:59
66128976