【发布时间】:2020-02-14 21:53:30
【问题描述】:
我正在处理一组令人沮丧的数据,其中包含我的 users 表中“活动”列的 null、0、1 和 2 值。
为什么会这样:
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
【问题讨论】:
标签: mysql sql casting mariadb-10.3