在用Python寫ClinicOS時,數據庫端遇到了不少問題,今天遇到的是如何實現像Oracle中的decode函數一樣的功能?google了很久都沒有找到答案,無賴之下只能滴了兩滴眼藥水,然后仔細閱讀Sqlite文檔,最后終于在這個頁面找到了答案:
http://www.sqlite.org/lang_expr.html
實現這個功能的就是case...when...then...esle...end語句,用法很簡單,結構比decode清晰多了,現舉例如下:
例一:
Sqlite的case用法簡單例程

例二:
假設有個表test,其中用一個整形字段sex表示性別,1表示男,0表示女,-1表示未知,其它情況表示未填,則sql為:
Sqlite的case用法詳細舉例

注意,when...then可以出現N組,且注意中間沒有任標點,權用逗號隔開.
希望對用Sqlite的朋友們有所幫助