确定 MySQL 中的列值是不是为空/非空
Posted
技术标签:
【中文标题】确定 MySQL 中的列值是不是为空/非空【英文标题】:Determine if column value is null/non-null in MySQL确定 MySQL 中的列值是否为空/非空 【发布时间】:2013-04-05 07:15:41 【问题描述】:我有两个表,一个包含用户数据,user
,第二个包含那些将他们的帐户与 Twitter 绑定的用户,user_twitter
。由于第二个表不包含每个用户的对应值(例如,那些尚未将其帐户与 Twitter 连接的用户),我正在使用 LEFT JOIN 进行查询:
SELECT DISTINCT `user_twitter`.uid AS `connected`
FROM `user`
LEFT JOIN (SELECT uid FROM `user_twitter`) AS `user_twitter` ON `user`.uid = `user_twitter`.uid
我想要做的是返回一个布尔值(如果user_twitter.uid
是非空值,则返回 true,如果为空则返回 false)。有什么指点吗?
【问题讨论】:
is not null
...基本SQL
@Barranka 谢谢。凌晨 3 点 == 大量基本记忆丧失
【参考方案1】:
SELECT a.uid AS `connected`,
(b.uid IS NOT NULL) bool_val
FROM `user` a
LEFT JOIN `user_twitter` b
ON a.uid = b.uid
将返回0
为假,1
为真。但是如果你想要true
或false
的字符串值,
SELECT a.uid AS `connected`,
CASE WHEN b.uid IS NOT NULL THEN 'True' ELSE 'False' END bool_val
FROM `user` a
LEFT JOIN `user_twitter` b
ON a.uid = b.uid
【讨论】:
以上是关于确定 MySQL 中的列值是不是为空/非空的主要内容,如果未能解决你的问题,请参考以下文章