2010-07-23 94 views
1

目前,Python正在爲sqlite3返回的空值存儲字符串「None」。我讀過你可以在命令行更改sqlite3中空值的默認值,但是你可以在Python代碼中設置它嗎?Python/Sqlite3 - 有沒有辦法以編程方式設置.nullvalue?

我希望我所有的空白結果看起來都一樣,而不必循環和檢查每個值。所以我希望從sqlite3返回的任何空值爲空字符串(「」)而不是「無」。

回答

1

對左連接的每一列使用SQL函數COALESCE。

SELECT 
    a.id, a.value, 
    COALESCE(b.id, ''), COALESCE(b.value, '') 
FROM 
    a 
    LEFT OUTER JOIN b ON b.a_id = a.id 
+0

謝謝!這個解決方案完美地適用於我當時正在做的事情,那時我只有一個或多個列需要擔心。我仍然希望能夠通過編程的方式找到一種方法,這樣我就不必在每個可能產生這些結果的sql語句中構建coalesce函數。 – javovo 2012-03-19 15:38:00

0

在文檔中有一個例子how to make use of converters and adapters的解釋。

+0

是的,我讀了一節,但除非我失去了一些東西,它不會在這種情況下幫助。我沒有選擇具有空值的特定列,也沒有返回null的特定數據類型,幾乎任何列都可以使用左連接返回空值。 – javovo 2010-07-30 18:34:18

相關問題