반응형
포스트그레스:json 문자열을 텍스트로 변환하는 방법
Json 값은 문자열 값으로 구성될 수 있습니다.예:
postgres=# SELECT to_json('Some "text"'::TEXT);
to_json
-----------------
"Some \"text\""
이 문자열을 postgres 텍스트 값으로 추출하려면 어떻게 해야 합니까?
::TEXT동작하지 않습니다.원래 문자열이 아닌 따옴표로 묶인 json을 반환합니다.
postgres=# SELECT to_json('Some "text"'::TEXT)::TEXT;
to_json
-----------------
"Some \"text\""
감사해요.
P.S. Postgre를 사용하고 있습니다.SQL 9.3
9.4.4에서는 연산자를 사용하는 것이 좋습니다.
select to_json('test'::text) #>> '{}';
테이블 열과 함께 사용하려면:
select jsoncol #>> '{}' from mytable;
Postgre에서는 방법이 없다.SQL을 사용하여 스칼라 JSON 개체를 구성합니다.그래서, 당신이 지적한마디로
select length(to_json('Some "text"'::TEXT) ::TEXT);
15살,
요령은 JSON을 1개의 JSON 요소의 배열로 변환한 후 다음 명령을 사용하여 해당 요소를 추출하는 것입니다.->>.
select length( array_to_json(array[to_json('Some "text"'::TEXT)])->>0 );
11이 반환됩니다.
Mr.Quious도 이것에 대해 궁금해했다.에 덧붙여#>> '{}'연산자, 9.6+에서는 jsonb 문자열의 값을 얻을 수 있습니다.->>연산자:
select to_jsonb('Some "text"'::TEXT)->>0;
?column?
-------------
Some "text"
(1 row)
json 값이 있는 경우 솔루션은 먼저 jsonb에 캐스트하는 것입니다.
select to_json('Some "text"'::TEXT)::jsonb->>0;
?column?
-------------
Some "text"
(1 row)
-> > 에서는 유효합니다.
postgres 버전:
<postgres.version>11.6</postgres.version>
쿼리:
select object_details->'valuationDate' as asofJson, object_details->>'valuationDate' as asofText from MyJsonbTable;
출력:
asofJson asofText
"2020-06-26" 2020-06-26
"2020-06-25" 2020-06-25
"2020-06-25" 2020-06-25
"2020-06-25" 2020-06-25
간단한 방법:
SELECT ('[' || to_json('Some "text"'::TEXT) || ']')::json ->> 0;
json 문자열을 json 목록으로 변환합니다.
언급URL : https://stackoverflow.com/questions/27215216/postgres-how-to-convert-a-json-string-to-text
반응형
'programing' 카테고리의 다른 글
| .toJS()를 Unmutable.js 및 Flux와 함께 사용하는 경우 (0) | 2023.03.26 |
|---|---|
| 수집되지 않은 유형 오류: $.ajax(...).성공은 함수가 아닙니다. (0) | 2023.03.26 |
| 스프링-mvc가 있는 AngularJS (0) | 2023.03.26 |
| Jquery를 사용하여 워드프레스에 대한 Ajax 검색 결과를 검색하는 방법 (0) | 2023.03.26 |
| Oracle 스토어드 프로시저 내의 텍스트 검색 (0) | 2023.03.26 |