我正在使用SQLite数据库.我的表有一个名为"密码"的文本列.之前检索用于执行简单的"select*from myTable"查询的值.但现在的要求是,如果密码值不是NULL,那么我需要将其显示为"是"或否则为"否".它是这样的: -
select * from myTable
if Password != NULL then Password = 'Yes'
else Password = 'No'
Run Code Online (Sandbox Code Playgroud)
我搜索了很多关于这个,但我没有得到任何正确的链接或例子.任何帮助或建议将非常感激.
-sattu
CL.*_*CL. 51
SELECT *,
CASE WHEN Password IS NOT NULL
THEN 'Yes'
ELSE 'No'
END AS PasswordPresent
FROM myTable
Run Code Online (Sandbox Code Playgroud)
Nic*_*ick 13
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;
Run Code Online (Sandbox Code Playgroud)
虽然我不确定它会起作用.如果你想根据表中每个记录的密码来获得YES或NO,那么这可能更接近你想要的:
SELECT Field1,
Field2,
(CASE WHEN Password != NULL THEN
'Yes'
ELSE
'No'
END) as 'Password'
FROM myTable;
Run Code Online (Sandbox Code Playgroud)
同样,我目前无法访问SQLite来自行测试,因此可能需要一些工作.
Nea*_*arl 10
您可以使用IIF()SQLite v3.32.0+ 中的函数来进一步缩短代码:
SELECT
Password,
IIF(Password IS NOT NULL, 'Yes', 'No') [HasPassword]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
55430 次 |
| 最近记录: |