If Else条件的SQLite语法

时间:2013-01-29 10:06:25

标签: sqlite

我正在使用SQLite数据库。我的表有一个名为“密码”的文本列。之前检索用于执行简单的“select * from myTable”查询的值。但现在的要求是,如果密码值不是NULL,那么我需要将其显示为“是”或否则为“否”。它类似于: -

select * from myTable
if Password != NULL then Password = 'Yes'
else Password = 'No'

我对此进行了很多搜索,但我没有得到任何正确的链接或示例。 任何帮助或建议都会非常感激。

-sattu

3 个答案:

答案 0 :(得分:47)

SELECT *,
       CASE WHEN Password IS NOT NULL
       THEN 'Yes'
       ELSE 'No'
       END AS PasswordPresent
FROM myTable

答案 1 :(得分:12)

SQLite使用CASE WHEN THEN END语法。您可以在此处详细了解:http://www.sqlite.org/lang_expr.html

我没有检查语法,但我猜是这样的:

select * 
from myTable CASE WHEN Password != NULL THEN Password = 'Yes' ELSE Password = 'No' END;

虽然我不确定它会起作用。如果你想根据表中每个记录的密码来获得YES或NO,那么这可能更接近你想要的:

SELECT Field1, 
    Field2,
    (CASE WHEN Password != NULL THEN 
        'Yes' 
     ELSE 
        'No' 
     END) as 'Password'
FROM myTable;

同样,我目前无法访问SQLite来自行测试,因此可能需要一些工作。

答案 2 :(得分:2)

我了解,如果密码列中已写入密码,我们想将密码列的值更改为“是”,否则我们将其值更改为“否”。

我们可以使用以下两个查询进行这些更改:

UPDATE myTable SET Password = "YES" WHERE Password IS NOT NULL;    
UPDATE myTable SET Password = "NO" WHERE PASSWORD IS NULL;