Я пытаюсь обновить столбец статуса этой таблицы, и я использовал следующее: UPDATE table_a SET status = CASE WHEN test_group LIKE 'Control' THEN 0 WHEN test_group NOT LIKE 'Control' THEN ...
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%');
UPDATE table_a SET status = CASE WHEN test_group LIKE '% Control%' THEN 0 WHEN test_group NOT LIKE '% Control%' THEN 1 END;
Попробуйте это (T-SQL):
UPDATE table_a
SET status = CASE
WHEN charindex('Control', test_group)>0 THEN 0
ELSE 1
END;
Новые вопросы
sql
Язык структурированных запросов (SQL) - это язык запросов к базам данных. Вопросы должны включать примеры кода, структуру таблицы, примеры данных и тег для используемой реализации СУБД (например, MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 и т. Д.). Если ваш вопрос относится исключительно к конкретной СУБД (использует определенные расширения / функции), используйте вместо этого тег этой СУБД. Ответы на вопросы, помеченные SQL, должны использовать стандарт ISO / IEC SQL.