sqlserver中将一个含有“=”的字段拆分成两个字段显示出来,请数据库高手指点

比如:字段content的内容是aa=bb 想分别得到aa和bb
2024-12-19 06:06:26
推荐回答(2个)
回答1:

Declare @S1 varchar(100) SUBSTRIN
Select @S1='aa=bb'
Select Substring(@S1,CHARINDEX('aa',@S1)+1,Len(@S1))

回答2:

可以创建用户自定义函数:
CREATE FUNCTION dbo.uf_splitString(@content nvarchar(10))
RETURNS nvarchar(10)
AS
BEGIN
declare @leftContent nvarchar(10)
declare @equalPosition int
declare @strLength int
select @strLength=len(@content)
select @equalPosition=charindex('=', @content)
select @leftContent=substring(@content, 1, @equalPosition-1)
return @leftContent
END

查询分析器中用:
select Content, dbo.uf_splitString(Content) as NewColumn1
from TableName
即可得到等号前面的所有值,等号后面的同样方法做。