반응형
JSON 데이터 유형 postgres별 순서
Postgres 테이블에는 JSON 타입의 컬럼이 있습니다.이 컬럼에는 JSON 오브젝트가 많이 포함되어 있습니다.테이블 레코드를 조회하여 JSON 필드에 저장된 값으로 결과를 정렬하고 싶습니다.실행할 쿼리를 가져오고 있지만 올바르게 정렬되지 않습니다.JSON 필드 타입의 오더에 관한 문서가 많이 없기 때문에 누군가 이것을 발견해 주었으면 합니다.
data: {name: "stuff", value: "third option"}
data: {name: "stuff", value: "awesome stuff"}
data: {name: "stuff", value: "way cooler stuff"}
다음 SQL이 실행되지만 결과는 순서 없이 반환됩니다.
select * from table ORDER BY data->>'value asc'
레일을 사용하고 있지만 SQL을 직접 실행해 보고 같은 결과를 얻습니다.
당신이 넣었어요asc
필드명으로 입력합니다.라는 이름의 열쇠는 없습니다.value asc
그러니까...data ->> 'value asc'
항상 돌아온다NULL
.
실제로 원하는 것은 다음과 같습니다.
select * from table ORDER BY data->>'value' ASC
json을 일치시키는 경우, 다음과 같은 경우가 있습니다.
select *
from table
WHERE data ->> 'name' = 'stuff'
ORDER BY data->>'value' ASC
사용하다->
대신->>
(->>
는 JSON 오브젝트필드를 텍스트로 가져옵니다).
select * from my_table ORDER BY data->'some_number' asc;
시험:
ORDER BY cast(data->>'value' as integer) ASC
언급URL : https://stackoverflow.com/questions/25967778/order-by-json-data-type-postgres
반응형
'programing' 카테고리의 다른 글
@ConfigurationProperties 및 @Autowired 클래스를 테스트하는 방법 (0) | 2023.03.17 |
---|---|
ng-src에서 함수를 호출하는 방법 (0) | 2023.03.17 |
jquery AJAX 성공 콜백에서 기능하도록 변수 전달 (0) | 2023.03.17 |
jquery window.open in ajax 성공 차단 (0) | 2023.03.17 |
모든 MUI 컴포넌트에 대해 박스 섀도를 글로벌하게 디세블로 하려면 어떻게 해야 합니까? (0) | 2023.03.12 |