如何在SQL中反向读取字符串?(并非相反)
所以我有这两条线如何在SQL中反向读取字符串?(并非相反),sql,sql-server,string,tsql,Sql,Sql Server,String,Tsql,所以我有这两条线 @a = SALE:1:39 @b = SALE:12 我必须比较两个字符串。 比较: LEFT part of @a = SALE:1 RIGHT Part of @a = 39 LEFT part of @b = SALE RIGHT Part of @b = 12 到目前为止,我所做的是 RIGHT(@a, CHARINDEX(':', REVERSE(@a))-1)<br> RIGHT(@b, CHARINDEX(':', REVERSE(@b))
@a = SALE:1:39
@b = SALE:12
我必须比较两个字符串。
比较:
LEFT part of @a = SALE:1
RIGHT Part of @a = 39
LEFT part of @b = SALE
RIGHT Part of @b = 12
到目前为止,我所做的是
RIGHT(@a, CHARINDEX(':', REVERSE(@a))-1)<br>
RIGHT(@b, CHARINDEX(':', REVERSE(@b))-1)<br>
LEFT(@a, CHARINDEX(':', @a)-1)<br>
LEFT(@b, CHARINDEX(':',@b)-1).<br>
declare@a varchar(100)='销售:1:39'
@b varchar(100)=“销售额:12”
选择
左(@a,len(@a)-charindex(':',反面(@a)),左froma
,RIGHT(@a,当charindex(':',REVERSE(@a))-1<0,则0,否则charindex(':',REVERSE(@a))-1 end)RightFromA
,左(@b,len(@b)-charindex(':',反面(@b)))左fromb
,RIGHT(@b,当charindex(':',REVERSE(@b))-1<0,则0其他charindex(':',REVERSE(@b))-1 end)RightFromB
大家好,欢迎来到SO。我们可以帮助你们,但首先你们需要更清楚地解释你们想要做的事情,所以基本上我想要实现的是,我想比较这两个字符串如果@a和@b是非数字的
那么如果@a和@b类似于“%:%”
如果是,那么@a的左部分=@b的左部分
如果是,那么@b的右部分=@a+1的右部分
IF @a AND @b are non-numeric<br> THEN IF @a AND @b LIKE '%:%'
IF So Then is the left part of @a = left part of @b
IF YES Then is the Right part of @b = Right part of @a + 1
declare @a varchar (100) = 'SALE:1:39'
, @b varchar(100) = 'SALE:12'
select
LEFT(@a, len(@a) - charindex(':', REVERSE(@a))) LeftFromA
, RIGHT(@a, case when charindex(':', REVERSE(@a)) - 1 < 0 then 0 else charindex(':', REVERSE(@a)) - 1 end) RightFromA
, LEFT(@b, len(@b) - charindex(':', REVERSE(@b))) LeftFromB
, RIGHT(@b, case when charindex(':', REVERSE(@b)) - 1 < 0 then 0 else charindex(':', REVERSE(@b)) - 1 end) RightFromB