Sql 如何在查询中获取冒号后的数据?

Sql 如何在查询中获取冒号后的数据?,sql,sql-server,Sql,Sql Server,我是新手,所以基本上我还在学习 我有这个查询,我想在:之后获取值,但是我不想硬编码它。 假设1:True,2:False是一个id。在将来,id可能会增加,因此如果按如下所示硬编码,它将给我带来问题 这是我一直在处理的一个基本查询: SET @strSampleData = '1:True,2:False' BEGIN -- this is what i hardcode it set @strSampleData = substring(@strSampl

我是新手,所以基本上我还在学习

我有这个查询,我想在
之后获取值,但是我不想硬编码它。 假设
1:True,2:False
是一个id。在将来,id可能会增加,因此如果按如下所示硬编码,它将给我带来问题

这是我一直在处理的一个基本查询:

SET @strSampleData = '1:True,2:False'

    BEGIN 

    -- this is what i hardcode it
        set @strSampleData = substring(@strSampleData,3,50)
我所知道的是我需要在这里打破
3
50
,但我不确定是什么。

这是代码 它给出的输出是:2:False

DECLARE @strSampleData AS VARCHAR(20)
SET @strSampleData = '1:True,2:False'
SET @strSampleData = substring(@strSampleData,CHARINDEX(',', @strSampleData)+1, 50)
PRINT @strSampleData

如果回答了此问题,请标记为“回答”

您的字符串没有分号。您使用的SQL是什么风格的?SQL Server、MySQL、Oracle等?抱歉,但我只想知道是否有办法打破“1:True”的SQL Server PM 77-1提示是找到的位置,首先拆分,然后找到的位置:,分块