SQLite IF存在条款

thi*_*ter 8 sql sqlite

如何在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
Run Code Online (Sandbox Code Playgroud)

mu *_*ort 18

只需按标准SQL方式执行:

select exists(
    select 1
    from tbl_stats_assigned
    where username = 'abc'
);
Run Code Online (Sandbox Code Playgroud)

当然假设你的10实际上是布尔值(SQLite用一个代表零而零就像MySQL一样).

这应该适用于任何SQL数据库,有些甚至还有特殊的优化来支持这个习惯用法.