我有像background-image
这样的字符串。
在这里,我需要单独取出how are you 'xyz', bye
,这是上面字符串中的单引号。我可以使用SQL查询或存储过程。
答案 0 :(得分:1)
我认为你正在寻找这个
declare @x varchar(50)= 'how are you ''xyz'', bye'
select substring(left(@x,charindex(',',@X)-2),charindex('''',@x)+1,len(@x))
答案 1 :(得分:0)
尝试使用正则表达式( regex )。这将有效:\'xyz\'
。或者将其用于任何#字符:\'.*\'
答案 2 :(得分:0)
我的数据库中有这个特殊功能:
CREATE FUNCTION ufn_GetTextFromQuotes (@text nvarchar(max), @IsDoubleQuotes bit = 0)
RETURNS nvarchar(max)
AS
BEGIN
declare @Pos int, @EndPos int, @string nvarchar(max), @Quotes nvarchar(max)
IF @IsDoubleQuotes = 1
SET @Quotes = '"'
ELSE
SET @Quotes = ''''
SET @string = ''
SET @Pos = CHARINDEX(@Quotes, @text, 0)
WHILE @Pos != 0
BEGIN
SET @EndPos = CHARINDEX(@Quotes, @text, @Pos + 1 )
IF @string != ''
SET @string = @string + ','
SET @string = @string +SUBSTRING(@text, @Pos + 1 , @EndPos - @Pos - 1)
SET @Pos = CHARINDEX(@Quotes, @text, @EndPos + 1 )
END
RETURN @string
END
并使用:
select dbo.ufn_GetTextFromqQuotes('how are you ''xyz'', bye', default ) as result