我正在编写一个依赖于 Ajax 请求从数据库中检索数据的应用程序,所需的信息在一组 Json 对象中传递,这意味着即使对于数据库的空字段,也会生成一对属性/值:
[{"field1":"value1","field2":"value2","field3":""},{"field1":"","field2":"","field3":""}]
如何通过 SQL 仅从数据库中选择非空字段以避免生成和发送不必要的数据?
我正在编写一个依赖于 Ajax 请求从数据库中检索数据的应用程序,所需的信息在一组 Json 对象中传递,这意味着即使对于数据库的空字段,也会生成一对属性/值:
[{"field1":"value1","field2":"value2","field3":""},{"field1":"","field2":"","field3":""}]
如何通过 SQL 仅从数据库中选择非空字段以避免生成和发送不必要的数据?
像这样的东西
SELECT * FROM yourtable
WHERE LEN(valuefield) > 0
如果表中的数据为 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 序列化器来执行此操作。