반응형
JSON_ARRAY가 마리아에 대한 빈 목록을 보내지 않음DB
사용할 때 MariaDB(10.3.18)에 문제가 있습니다.JSON_ARRAY
함수, 내 하위 쿼리에 결과가 없으면 빈 배열을 제공하지 않고 1개의 null 결과를 가진 배열을 제공합니다.
예:
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]", "[]")
하지만 마리아DB에게 NULL 결과가 아닌 빈 결과를 보내라고 할 말이 있다면 저에게 많은 도움이 될 것입니다!
IFNULL을 사용하는 옵션:
SELECT
IFNULL(
(SELECT
CONCAT('[', GROUP_CONCAT(
JSON_OBJECT(
'id', `user`.`id`,
'name', `user`.`name`
)
), ']')
FROM `user`
WHERE `user`.`active` = true),
JSON_ARRAY()
);
dbfidle을 참조하십시오.
언급URL : https://stackoverflow.com/questions/58448522/json-array-not-sending-an-empty-list-on-mariadb
반응형
'programing' 카테고리의 다른 글
ASP.NET MVC - 역할 제공자의 대안? (0) | 2023.08.10 |
---|---|
Windows PowerShell에서 화면 캡처를 수행하려면 어떻게 해야 합니까? (0) | 2023.08.10 |
지원 라이브러리 26.0.0으로 업데이트할 때 지정된 이름과 일치하는 리소스를 찾을 수 없습니다. (0) | 2023.08.10 |
장고에서 단일 쿼리 세트로 레코드를 선택하고 업데이트하는 방법은 무엇입니까? (0) | 2023.08.10 |
PyCharm 플러그인으로 IntelliJ IDEA에서 Python 인터프리터를 구성하려면 어떻게 해야 합니까? (0) | 2023.08.10 |