> 데이터 베이스 > SQL > SQL Server가 Json 형식의 필드 데이터를 구문 분석/조작하는 방법의 예

SQL Server가 Json 형식의 필드 데이터를 구문 분석/조작하는 방법의 예

WBOY
풀어 주다: 2022-08-29 12:00:01
앞으로
5183명이 탐색했습니다.

이 기사에서는 SQL 서버에 대한 관련 지식을 제공합니다. 주로 SQL SERVER에는 자체 구문 분석 json 기능이 없다는 점을 소개합니다. 자체 제작 함수(테이블 반환 함수)를 작성해야 합니다. 서버 파싱/ Json 형식의 운영현장 데이터 관련 정보에 대해 많은 분들께 도움이 되었으면 좋겠습니다.

SQL Server가 Json 형식의 필드 데이터를 구문 분석/조작하는 방법의 예

추천 학습: "SQL Tutorial"

1 json 저장

sqlserver에 json을 저장하려면 문자열 유형을 저장해야 하며 일반적으로 nvarchar() 또는 varchar()를 사용하여 저장해야 합니다. 텍스트 사용 텍스트를 저장용으로 사용할 경우 json 기능은 지원되지 않습니다.

2 json 연산

은 주로 5가지 함수를 소개합니다:

(1) openJson: Json 문자열 열기

(2) IsJson: 문자열이 합법적인 Json 형식인지 확인합니다. 예인 경우 1, 아니오인 경우 0, Null인 경우 Null을 반환합니다.

(3) Json_Value: Json 문자열에서 값을 추출합니다.

(4) Json_Query: Json 문자열에서 객체나 배열을 추출합니다.

(5) Json_Modify: Json 문자열의 속성 값을 업데이트하고 업데이트된 Json 문자열을 반환합니다.

새 wm_json_demo 테이블 만들기:

CREATE TABLE demo_plus.dbo.wm_json_demo (
	id int IDENTITY(1,1) NOT NULL,
	json_detail varchar(max) NOT NULL,
	CONSTRAINT PK_wm_json_demo PRIMARY KEY (id)
);
로그인 후 복사

다음은 wm_json_demo를 예로 들어 json 작업과 관련된 위의 5가지 함수를 보여줍니다.

INSERT INTO demo_plus.dbo.wm_json_demo (json_detail) VALUES('{"key":3,"value1":10,"value2":[{"vv21":13,"vv22":103}],"value3":null}');
INSERT INTO demo_plus.dbo.wm_json_demo (json_detail) VALUES('{"key":4,"value1":15,"value2":[{"vv21":13,"vv22":103}],"value3":"10"}');
INSERT INTO demo_plus.dbo.wm_json_demo (json_detail) VALUES('{"key":7,"value1":20,"value2":[{"vv21":13,"vv22":103}],"value3":"15"}');
로그인 후 복사

IsJson: 문자열이 합법적인 Json 형식인지 확인합니다. 예인 경우 1, 아니오인 경우 0, Null인 경우 Null을 반환합니다.

SELECT
	IsJson(json_detail) as IsJson
from
	demo_plus.dbo.wm_json_demo
로그인 후 복사

Json_Value: Json 필드에서 값 추출

Usage: 테이블에서 Json_Value(cloumn_name,'$.json_field_name')

Json_Query: Json 문자열에서 객체 또는 배열을 추출합니다.

사용법: table

SELECT
	JSON_VALUE(json_detail,'$.key') as 'key',
	JSON_VALUE(json_detail,'$.value1') as value1,
	JSON_value(json_detail,'$.value2') as value2,
	JSON_QUERY(json_detail,'$.value2') as value2_query,
	JSON_VALUE(json_detail,'$.value3') as value3
from demo_plus.dbo.wm_json_demo;
로그인 후 복사

Json_Modify의 Json_Query(cloumn_name,'$.json_field_name'): Json 문자열의 속성 값을 업데이트하고 업데이트된 Json 문자열을 반환합니다.

JSON_MODIFY(column_name, '$.json_field', 'change_info');

SELECT
	JSON_MODIFY(json_detail,
	'$.value1',
	11) as json_detail
from
	demo_plus.dbo.wm_json_demo
where
	JSON_VALUE(json_detail,
	'$.key')= 7;
로그인 후 복사

추천 학습: "SQL Tutorial"

위 내용은 SQL Server가 Json 형식의 필드 데이터를 구문 분석/조작하는 방법의 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
sql
원천:jb51.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿