我在excel中有公式,我想在SQL Server中使用它。我可以使用哪些查询?
Excel中的公式:
=IFERROR(MID(A2,FIND("=",A2,8)+1,FIND("Logic",A2,8)-4-FIND("=",A2,8)+1),MID(A2,FIND("=",A2,8)+1,5))
SQL server中的公式是什么?
感谢您的关注,对不起我的英语不好。
答案 0 :(得分:1)
你可以试试这个。
SELECT CASE WHEN CHARINDEX('Logic',A2, 8) > 0
THEN SUBSTRING( A2, CHARINDEX( '=',A2, 8) + 1 , CHARINDEX('Logic',A2, 8) - 4 - CHARINDEX( '=',A2,8) + 1 )
ELSE SUBSTRING( A2, CHARINDEX( '=',A2, 8) + 1 , 5 )
END
答案 1 :(得分:0)
如果您只想获得相同的结果,此查询可能适合您。它使用Try-Catch逻辑:
declare @NCELL VARCHAR(200) = 'LABEL=BDGblablabalba,CellID=24539, LogicRNCID=382'
begin try
select isnull((SUBSTRING(@NCELL, CHARINDEX('CellID', @NCELL) + 7, CHARINDEX(', Logic', @NCELL) - (CHARINDEX('CellID', @NCELL) + 7))), 'N/A') AS Result
end try
begin catch
select SUBSTRING(@NCELL, CHARINDEX('CellID', @NCELL) + 7, 200) AS Result
end catch