SQL-将字符串剪切为一个字符串(仅第一个)

SQL-将字符串剪切为一个字符串(仅第一个),sql,sql-server,Sql,Sql Server,我有这样一个字符串: DECLARE @val nvarchar(max) set @val='id=1 and Name=abc and Address=NY and age=32' 现在我只需要将字符串剪切到第一个和的末端。这里id长度可以是1-100000。因此我可以固定长度。 当前情况:id=1,Name=abc,Address=NY,age=32 预期结果:Name=abc,Address=NY,age=32 提前感谢使用子字符串函数 @val=substring('@val',9

我有这样一个字符串:

DECLARE @val nvarchar(max)
set @val='id=1 and Name=abc and Address=NY and age=32' 
现在我只需要将字符串剪切到第一个和的末端。这里id长度可以是1-100000。因此我可以固定长度。
当前情况:
id=1,Name=abc,Address=NY,age=32

预期结果:
Name=abc,Address=NY,age=32


提前感谢

使用子字符串函数

@val=substring('@val',9,'remaining char')
请参见:子字符串(),CHARINDEX(),PATINDEX()

参考这里


使用子字符串函数,如

@val=substring('@val',9,'remaining char')
请参见:子字符串(),CHARINDEX(),PATINDEX()

参考这里

其他链接

其他链接


如果我正确理解了你想要的东西,你应该得到你想要的:

substring(@val , CHARINDEX(@val) + 4, len(@val))

如果我正确理解了你想要的东西,像这样的东西应该会得到你想要的:

substring(@val , CHARINDEX(@val) + 4, len(@val))

我想我们不需要调用
LEN
SUBSTRING
方法也可以做到这一点

像这样的东西会有帮助:

DECLARE @val nvarchar(max)
set @val='id=1 and Name=abc and Address=NY and age=32' 

Select @val as OriginalValue
select stuff(@val,1,charindex('d ',@val) + 1,'') as ExpectedResult
我们需要调用
STUFF
方法以及
CHARINDEX

退房

记住:东西是面向职位的(从1开始)

以下是输出:


我想我们也可以不用调用
LEN
SUBSTRING
方法来完成它

像这样的东西会有帮助:

DECLARE @val nvarchar(max)
set @val='id=1 and Name=abc and Address=NY and age=32' 

Select @val as OriginalValue
select stuff(@val,1,charindex('d ',@val) + 1,'') as ExpectedResult
我们需要调用
STUFF
方法以及
CHARINDEX

退房

记住:东西是面向职位的(从1开始)

以下是输出: