gpt4 book ai didi

mysql - 无法从 JSON_EXTRACT 中检测到空值

转载 作者:可可西里 更新时间:2023-11-01 06:39:23 35 4
gpt4 key购买 nike

我有一个数据库,其中有一组数据存储在 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 中提取的空值?

最佳答案

SELECT 
JSON_EXTRACT(`COLUMNS_HEADERS`, '$[1]'),
(JSON_EXTRACT(`COLUMNS_HEADERS`, '$[1]') = CAST('null' AS JSON))
FROM ate.readings_columns_new;

SELECT 
JSON_EXTRACT(`COLUMNS_HEADERS`, '$[1]'),
(JSON_TYPE(JSON_EXTRACT(`COLUMNS_HEADERS`, '$[1]')) = 'NULL')
FROM ate.readings_columns_new;

请参阅 JSON_TYPE 的文档.

关于mysql - 无法从 JSON_EXTRACT 中检测到空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41171636/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com