2012-12-10 26 views
0

我正在編寫一個依賴於Ajax請求從數據庫中檢索數據的應用程序,所需的信息是在Json對象集中傳遞的,這意味着即使是空字段的數據庫是產生一對禮/值:如何從Db中只選擇不空的字段

[{"field1":"value1","field2":"value2","field3":""},{"field1":"","field2":"","field3":""}] 

如何可以從數據庫中選擇經由SQL避免產生和發送不必要的數據不僅空字段?

+0

如果說,對於field1,row1不是空的,但row2是空的呢? – Kaf

+0

然後第一行的對象攜帶一對字段1,第二行不包含。但馬特惠特菲爾德點也許這是一個序列化的問題 –

回答

1

如果表中的數據爲NULL,則可以選擇使用的東西記錄在適當喜歡

SELECT [fieldList] 
    FROM [tableName] 
WHERE [field_1] IS NOT NULL 
    OR [field_2] IS NOT NULL 
    OR [field_3] IS NOT NULL 

但是 - 如果你想省略從定義JSON用於部分空記錄,例如

{"field1":"value1","field2":"value2","field3":""} 

被傳送爲

{"field1":"value1","field2":"value2"} 

然後,您需要通過自定義您正在使用的任何JSON序列化程序來執行此操作。

1

像這樣的事情

SELECT * FROM yourtable 
WHERE LEN(valuefield) > 0