Sql JSON_数组未在MariaDB上发送空列表
我在MariaDB 10.3.18中遇到了一个问题,当我使用JSON_数组函数时,如果我的子查询没有任何结果,它不会给我一个空数组,它会给我一个带有1个空结果的数组 例如:Sql JSON_数组未在MariaDB上发送空列表,sql,arrays,json,mariadb,mariadb-10.3,Sql,Arrays,Json,Mariadb,Mariadb 10.3,我在MariaDB 10.3.18中遇到了一个问题,当我使用JSON_数组函数时,如果我的子查询没有任何结果,它不会给我一个空数组,它会给我一个带有1个空结果的数组 例如: SELECT JSON_ARRAY() // -> [] this is what I want to obtain SELECT JSON_ARRAY(( SELECT GROUP_CONCAT( JSON_OBJECT( 'id', id,
SELECT JSON_ARRAY() // -> [] this is what I want to obtain
SELECT JSON_ARRAY((
SELECT GROUP_CONCAT(
JSON_OBJECT(
'id', id,
'name', name
)
)
FROM user
WHERE user.acive = TRUE
)) // -> [null] If I don't have any result
目前,我找到了一种解决此问题的方法,使用如下替换函数:
SELECT REPLACE(JSON_ARRAY(null), "[null]", "[]")
但是,如果有什么东西告诉MariaDB发送一个空结果而不是空结果,它可以帮我很多忙 使用以下选项的选项:
选择
IFNULL
选择
CONCAT'[',GROUP_CONCAT
JSON_对象
'id','user`.'id`,
'name','user`.'name`
, ']'
来自`用户`
其中`user`.`active`=true,
JSON_数组
;
请参阅。MySQL版本??我的错:这是MariaDB 10.3.18,不是MySQL。我编辑了我的问题