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开始)
以下是输出: