【发布时间】:2020-02-15 07:31:10
【问题描述】:
当我使用 JSON_ARRAY 函数时,我在 MariaDB (10.3.18) 中遇到问题,如果我的子查询没有任何结果,它不会给我一个空数组,它会给我一个包含 1 个空结果的数组.
示例:
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
目前我找到了一种方法来解决这个问题,方法是使用这样的REPLACE 函数:
SELECT REPLACE(JSON_ARRAY(null), "[null]", "[]")
但如果有什么东西可以告诉 MariaDB 发送一个空结果而不是 NULL 结果,那对我有很大帮助!
【问题讨论】:
-
MySQL 版本??
-
我的错:这是 MariaDB 10.3.18(不是 MySQL)我编辑了我的问题
标签: sql arrays json mariadb mariadb-10.3