我想从下面提到的 json 字符串中获取“OrderNumber”字段值。请建议最好的方法来获得相同的
DECLARE @JSON NVARCHAR(MAX)=
'{"ErpOrderResponses":[{"OrderSubmitStatus":"Ok","TransactionId":"{5EAB3ADC-EB9B-47F7-98B8-1449E2CC0A6B}","OrderNumber":7000027934,"CustomerNumber":80038707,"Description":"Request Successful","ResponseCode":"Success","ResponseType":"None","Errors":[]}],"IsErpUnavailable":false,"IsSuccessful":true,"IsPartiallySuccessful":false,"IsValidationFailed":false,"IsFailed":false}'
DECLARE @OrderNumber BIGINT =
(SELECT REPLACE(REPLACE(SUBSTRING(@JSON,CHARINDEX('OrderNumber',@JSON)+1,
CHARINDEX(',',@JSON,
CHARINDEX('OrderNumber',@JSON)+1
)-CHARINDEX('OrderNumber',@JSON)
)
,'RDERNUMBER":',''),',','') )
--SELECT CAST( @OrderNumber AS BIGINT)
SELECT @OrderNumber
Run Code Online (Sandbox Code Playgroud) sql-server ×1