Я работаю с разочаровывающим набором данных, который содержит нулевые, 0, 1 и 2 значения для столбца 'active' в моей таблице пользователей.
Почему это работает:
SELECT u.id AS LegacyContactKey,
u.first_name AS FirstName,
u.last_name AS LastName,
c.company_name AS CompanyName,
u.email AS EmailAddress,
(CASE WHEN u.active = 1 THEN 1 WHEN u.active = 2 THEN 1 ELSE 0 END) as IsMember
FROM tb_users AS u
INNER JOIN tb_company AS c ON u.company_id = c.company_id
Но не это?
SELECT u.id AS LegacyContactKey,
u.first_name AS FirstName,
u.last_name AS LastName,
c.company_name AS CompanyName,
u.email AS EmailAddress,
CAST((CASE WHEN u.active = 1 THEN 1 WHEN u.active = 2 THEN 1 ELSE 0 END) AS BOOLEAN) as IsMember
FROM tb_users AS u
INNER JOIN tb_company AS c ON u.company_id = c.company_id
Я хочу привести один из моих результатов запроса к логическому значению, чтобы он возвращал true или false, но когда я добавляю CAST (), я получаю ошибку (около BOOLEAN). )
Запуск MariaDB 10.3