如何编写SQL Server查询以从下面的字符串中获取所需的结果?

时间:2018-03-02 07:48:07

标签: sql sql-server

我想检索Text中的值。这是我的例子:

<Host_In_Params>{"Zip_Code":"94941"}</Host_In_Params>

如何从上面的字符串值轻松获取结果94941

2 个答案:

答案 0 :(得分:0)

您可以使用Json功能

SELECT 
     '{"Zip_Code":"94941"}'
    ,JSON_VALUE('{"Zip_Code":"94941"}', '$.Zip_Code') AS YourValue

enter image description here

这是第二个想法:(快速和肮脏)

enter image description here

DECLARE @test varchar(100);  
SELECT @test = '<Host_In_Params>{"Zip_Code":"94941"}</Host_In_Params>';  
SELECT SUBSTRING(
             @test
            ,CHARINDEX('Zip_Code', @test) + 11
            ,5
);  

答案 1 :(得分:0)

根据问题答案是

DECLARE @CODE VARCHAR(50)
SET @CODE = '{"Zip_Code":"94941"}'
SELECT @CODE

SELECT REVERSE(SUBSTRING (REVERSE(@CODE), CHARINDEX('"', @CODE) +1 , 5))

这完全取决于@code

中的数据