반응형
저는 json 데이터를 가진 authorsjson이라는 JSON 컬럼을 가지고 있습니다.이름이 지정된 문자열로 시작하는 모든 사용자를 찾습니다.
일반 열과 json 데이터가 들어 있는 열이 모두 있는 하이브리드 데이터베이스가 있습니다.작성자란에 이 데이터가 있습니다.
{
"profileUrl": "https://disqus.com/by/mnaid-233509073ed3432027d48b1a83f5fbd2/",
"isPrivate": false,
"isPrimary": true,
"about": "",
"username": "mnaid-233509073ed3432027d48b1a83f5fbd2",
"url": "",
"id": "250728493",
"isAnonymous": false,
"location": "",
"isPowerContributor": false,
"signedUrl": "",
"joinedAt": "2017-05-03T10:40:52",
"disable3rdPartyTrackers": true,
"name": "baggiebuoy"
}
"목표는 이름이 지정된 문자열로 시작하는 모든 사용자를 찾는 것입니다."
다음은 sql 쿼리 시도입니다.
SELECT JSON_EXTRACT(authorsjson, '$.name')
FROM altthree
WHERE JSON_EXTRACT(authorsjson, '$.name') like 'b%' ;
비어 있는 열이 하나 표시됩니다.내가 이걸 어떻게 작동시킬지 아는 사람?
JSON_UNQUOTE를 사용하려면 검색 문자열 앞에 큰따옴표를 추가해야 합니다.
SELECT JSON_EXTRACT(authorsjson, '$.name')
FROM altthree
WHERE JSON_UNQUOTE(JSON_EXTRACT(authorsjson, '$.name')) like 'b%' ;
접근법이 거의 정상인 것 같습니다. 단지 '이름' 필드가 한 단계 더 깊게 중첩되어 있을 뿐입니다. 세 번째 줄을 다음과 같이 수정해 보십시오.
WHERE JSON_EXTRACT(authorsjson, '$.author.name') like 'b%' ;
언급URL : https://stackoverflow.com/questions/55891522/i-have-a-json-column-called-authorsjson-which-has-json-data-i-want-to-find-all
반응형
'programing' 카테고리의 다른 글
페이지 새로고침 시 Nuxtjs, VUEX 및 Firebase 인증 (0) | 2022.11.07 |
---|---|
PHP mysql 삽입 날짜 형식 (0) | 2022.11.07 |
PHP의 동적 상수 이름 (0) | 2022.11.06 |
#1030 - 스토리지 엔진 Aria에서 오류 176 "잘못된 체크섬으로 페이지 읽기"가 표시됨 (0) | 2022.11.06 |
C에서 uint32_t를 바이너리로 변환하는 중 (0) | 2022.11.06 |