Sql server 如何从数据库中仅选择非空字段
我正在编写一个依赖Ajax请求从数据库检索数据的应用程序,所需的信息以Json对象集的形式传递,这意味着即使对于数据库的空字段,也会生成一对属性/值:Sql server 如何从数据库中仅选择非空字段,sql-server,json,Sql Server,Json,我正在编写一个依赖Ajax请求从数据库检索数据的应用程序,所需的信息以Json对象集的形式传递,这意味着即使对于数据库的空字段,也会生成一对属性/值: [{"field1":"value1","field2":"value2","field3":""},{"field1":"","field2":"","field3":""}] 如何通过SQL从数据库中仅选择非空字段,以避免生成和发送不必要的数据?类似的内容 SELECT * FROM yourtable WHERE LEN(valuefie
[{"field1":"value1","field2":"value2","field3":""},{"field1":"","field2":"","field3":""}]
如何通过SQL从数据库中仅选择非空字段,以避免生成和发送不必要的数据?类似的内容
SELECT * FROM yourtable
WHERE LEN(valuefield) > 0
如果表中的数据为空,则可以使用以下方法选择适当的记录
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序列化程序来实现这一点。如果说,对于field1,row1不为空,但是row2为空,那么,第一行的对象包含field1的一对,而第二行则不包含。但是马特·惠特菲尔德有没有指出这可能是一个序列化的问题