SQL Server 字符的开始和结束子字符串[已关闭]

zlwx9yxi  于 2023-02-03  发布在  其他
关注(0)|答案(1)|浏览(176)

昨天关门了。
Improve this question
我需要在字符串中选择ID值,但我不能限制它从字符X到Y,因为有些ID有8、9、10甚至更多的字符。
在SQL中我怎么能做到这一点?
字符串示例:

[{"h":true,"key":"ID","value":"123456789"},{"h":true,"key":"Email","value":"test@email"} ,{"h":true,"key":"Name","value":"test"}]

我需要使用集成来验证用户数据

tp5buhyn

tp5buhyn1#

使用SQL语言时,可以结合使用SUBSTRING和CHARINDEX函数从字符串中提取ID值。
SUBSTRING函数用于提取字符串的一部分,CHARINDEX函数用于查找子字符串在字符串中的位置。将这两个函数结合使用可以从字符串中提取ID值。
例如,可以使用以下查询将ID值从字符串中分离出来:

SELECT
    SUBSTRING(myString, 
    CHARINDEX('value":"', myString)+8, 
    CHARINDEX('"', myString, CHARINDEX('value":"', myString)+9) - (CHARINDEX('value":"', myString)+8)
    ) AS ID
FROM myTable

此查询使用CHARINDEX函数查找ID值的开头(在'value”:“'之后)和结尾(在下一个'"'字符处)。然后使用SUBSTRING函数提取这两个位置之间的字符串部分,从而得到ID值。
使用此方法,您可以轻松地从字符串中提取ID值,而不必将其限制为特定的字符数。

相关问题