一尘不染

SQLite IF存在子句

sql

如何在SQLite中的查询中编写如下所示的IF EXISTS?我读到某处SQLite中不存在IF子句。有什么更好的替代方法呢?

if exists (select username from tbl_stats_assigned where username = 'abc' )
    select 1 as uname
else
    select 0 as uname

阅读 218

收藏
2021-03-10

共1个答案

一尘不染

只需按照标准的SQL方式执行即可:

select exists(
    select 1
    from tbl_stats_assigned
    where username = 'abc'
);

当然,假设your10实际上是布尔值(就像MySQL一样,SQLite用1和0表示)。

这应该可以在任何SQL数据库中使用,甚至有些可以进行特殊优化以支持该习惯用法。

2021-03-10