如何在SQL Select语句中返回布尔值?

我试过这个密码:

SELECT CAST(1 AS BIT) AS Expr1
FROM [User]
WHERE (UserID = 20070022)

如果表上有UserID,它只返回TRUE.如果桌上没有UserID,我希望它返回FALSE.

推荐答案

如果用户不存在,您在那里拥有的内容将不会返回任何行.以下是您需要的:

SELECT CASE WHEN EXISTS (
    SELECT *
    FROM [User]
    WHERE UserID = 20070022
)
THEN CAST(1 AS BIT)
ELSE CAST(0 AS BIT) END

Sql相关问答推荐

按postquist中的日期查询json列

SQL使最终结果显示两个表后的所有数据(匹配和不匹配)?

在postgres中动态计算出现次数并插入到json中

从以前的非空值行中获取值

当交叉联接3个或更多表时,实体框架中是否会传输冗余的行数据并占用数据库带宽?

SQL:计算与另一列中给定值互斥的匹配项

对列进行排序后,基于两列删除重复行

查询页面推荐

对多个条件的SQL进行排名

在PostgreSQL中汇总连接表中的 case 值

在SQL中,筛选其他列中只有一个值的ID

计算 ID 满足条件的次数

有没有办法在雅典娜中将字符串转换为 int ?

使用row_number() over partition by保留首次出现且值不为空的行的方法

COBOL\DB2作业(job)需要帮助?快来获取专业指导!

使用日期和间隔作为键加入 Athena 上的表?

计算 PostgreSQL 中的平均会话长度

在 MS Access 中连接相关记录

SQL日期比较用例;月初至今的报告

在时态表和非时态表之间使用 EXCEPT 的 SQL 子查询给出表达式错误数