#mysql #case #sql-like
Вопрос:
У меня есть таблица с существующим user_agent
столбцом, который я хочу создать на основе нового столбца, если пользовательский агент содержит подстроки 'windows'
или 'os x'
в MySQL, и я не могу понять, что не так, или найти примеры операторов case со LIKE
строками for на этом сайте. Моя версия MySQL
такова 8.0.26
.
SELECT user_id,
CASE user_agent
WHEN LIKE '%windows%' THEN 'Windows'
WHEN LIKE '%OS X%' THEN 'Mac'
Else 'Other'
END AS Operating System
FROM pageviews;
Ответ №1:
SELECT user_id,
CASE
WHEN user_agent LIKE '%windows%' THEN 'Windows'
WHEN user_agent LIKE '%OS X%' THEN 'Mac'
Else 'Other'
END AS `Operating System`
FROM pageviews;
Комментарии:
1. Да, это правильный синтаксис. Однако для псевдонимов следует использовать стандартные двойные кавычки или собственные обратные ссылки MySQL. Не используйте одинарные кавычки. Они предназначены для строковых литералов, и использование их вместо имен иногда может привести к неожиданным и нежелательным результатам.
2. @ThorstenKettner спасибо! просто обновите мой ответ после вашего комментария.