Microsoft SQL Server JSON 열의 값 업데이트


JSON_MODIFY 함수를 사용하여 일부 경로의 값을 업데이트 할 수 있습니다. 이 함수를 사용하여 UPDATE 문에서 JSON 셀의 원래 값을 수정할 수 있습니다.

update Product
set Data = JSON_MODIFY(Data, '$.Price', 24.99)
where ProductID = 17;

JSON_MODIFY 함수는 Price 키를 업데이트하거나 생성합니다 (존재하지 않는 경우). 새 값이 NULL이면 키가 제거됩니다. JSON_MODIFY 함수는 새로운 값을 문자열로 처리합니다 (특수 문자를 이스케이프 처리하고 큰 따옴표로 묶어 올바른 JSON 문자열을 만듭니다). 새 값이 JSON 조각 인 경우 JSON_QUERY 함수로 래핑해야합니다.

update Product
set Data = JSON_MODIFY(Data, '$.tags', JSON_QUERY('["promo","new"]'))
where ProductID = 17;

두 번째 매개 변수가없는 JSON_QUERY 함수는 "JSON으로 변환"과 같이 동작합니다. JSON_QUERY의 결과가 유효한 JSON 프래그먼트 (객체 또는 배열)이므로 JSON_MODIFY는 입력 JSON을 수정할 때이 값을 이스케이프 처리하지 않습니다.