SQLite过滤JSON列为空数组的正确语法问询
SQLite3过滤JSON空数组行的正确语法
要过滤掉JSON列为空数组[]的行,你可以使用SQLite的JSON函数或直接字符串匹配,以下是具体实现方式:
推荐写法(兼容所有合法空数组格式)
使用json_length()函数计算JSON数组的元素数量,筛选长度大于0的行,这种方法能兼容带空格的空数组(如[ ])等合法格式:
SELECT * FROM results_json WHERE json_length(your_json_column) > 0;
注意:将
your_json_column替换为你实际存储JSON数据的列名称。
备选写法(仅严格匹配[]时有效)
如果你的空数组字符串格式固定为[](无额外空格或字符),也可以直接用字符串比较:
SELECT * FROM results_json WHERE your_json_column != '[]';
说明
你之前尝试的json_length!=0写法无效,是因为SQLite的json_length()函数必须传入目标列名作为参数,才能正确计算JSON值的长度。
内容的提问来源于stack exchange,提问作者JohnJ
相关产品推荐
相关产品推荐

