이 기사에서는 SQL 서버에 대한 관련 지식을 제공합니다. 주로 SQL SERVER에는 자체 구문 분석 json 기능이 없다는 점을 소개합니다. 자체 제작 함수(테이블 반환 함수)를 작성해야 합니다. 서버 파싱/ Json 형식의 운영현장 데이터 관련 정보에 대해 많은 분들께 도움이 되었으면 좋겠습니다.
추천 학습: "SQL Tutorial"
sqlserver에 json을 저장하려면 문자열 유형을 저장해야 하며 일반적으로 nvarchar() 또는 varchar()를 사용하여 저장해야 합니다. 텍스트 사용 텍스트를 저장용으로 사용할 경우 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!