在用Python写ClinicOS时,数据库端遇到了不少问题,今天遇到的是如何实现像Oracle中的decode函数一样的功能?google了很久都没有找到答案,无赖之下只能滴了两滴眼药水,然后仔细阅读Sqlite文档,最后终于在这个页面找到了答案:
http://www.sqlite.org/lang_expr.html实现这个功能的就是case...when...then...esle...end语句,用法很简单,结构比decode清晰多了,现举例如下:
例一:

Sqlite的case用法简单例程
1
select
2
case 1
3
when 1 then '男'
4
else '女'
5
end ;例二:
假设有个表test,其中用一个整形字段sex表示性别,1表示男,0表示女,-1表示未知,其它情况表示未填,则sql为:

Sqlite的case用法详细举例
1
select
2
case sex
3
when 1 then '男'
4
when 0 then '女
5
when -1 then '未知'
6
else ''
7
end as "性别"
8
from test注意,when...then可以出现N组,且注意中间没有任标点,权用逗号隔开.
希望对用Sqlite的朋友们有所帮助