在用Python写ClinicOS时,数据库端遇到了不少问题,今天遇到的是如何实现像Oracle中的decode函数一样的功能?google了很久都没有找到答案,无赖之下只能滴了两滴眼药水,然后仔细阅读Sqlite文档,最后终于在这个页面找到了答案:
http://www.sqlite.org/lang_expr.html实现这个功能的就是case...when...then...esle...end语句,用法很简单,结构比decode清晰多了,现举例如下:
例一:
Sqlite的case用法简单例程
1select
2 case 1
3 when 1 then '男'
4 else '女'
5 end ; 例二:
假设有个表test,其中用一个整形字段sex表示性别,1表示男,0表示女,-1表示未知,其它情况表示未填,则sql为:
Sqlite的case用法详细举例
1select
2 case sex
3 when 1 then '男'
4 when 0 then '女
5 when -1 then '未知'
6 else ''
7 end as "性别"
8from test 注意,when...then可以出现N组,且注意中间没有任标点,权用逗号隔开.
希望对用Sqlite的朋友们有所帮助