【发布时间】:2017-05-01 11:55:51
【问题描述】:
我有一个数据库,其中有一个存储在 JSON 列中的数据数组。我需要在 JSON 数组中的特定位置找到所有具有空值的值。虽然用JSON_EXTRACT 提取数据似乎微不足道,但我与 null 的比较都没有奏效,他们都声称该值为 null。
据我所知,这是应该可以工作的示例代码:
SELECT JSON_EXTRACT(`COLUMNS_HEADERS`, '$[1]') , (JSON_EXTRACT(`COLUMNS_HEADERS`, '$[1]') is null)
FROM ate.readings_columns_new;
我的结果表的前几行如下所示:
null | 0
"INTERNALTEMPERATURE" | 0
"INPUT_VOLTAGE" | 0
null | 0
null | 0
"AH1" | 0
我已经尝试了所有我能想到的比较,结果都是 0:
(JSON_EXTRACT(`COLUMNS_HEADERS`, '$[1]') is null)
(JSON_EXTRACT(`COLUMNS_HEADERS`, '$[1]') <=> null)
ISNULL(JSON_EXTRACT(`COLUMNS_HEADERS`, '$[1]'))
(JSON_EXTRACT(`COLUMNS_HEADERS`, '$[1]') <=> 'null')
比较从 JSON_EXTRACT 中提取的空值是否有一些关键?
【问题讨论】:
-
有什么问题...
WHERE (JSON_EXTRACT(COLUMNS_HEADERS, '$[1]') is NULL;比较?
标签: mysql