/* @info-待截取的字符串 @indexStr-截取子串的起始字符串 @split-截取子串的结束符号 列入依次传入 胸片:正常。心电图:异常,需要注意。血常规检查:正常。 心电图 '。' 返回 心电图:异常,需要注意 */ CREATE FUNCTION [dbo].[SplitStrForTxt] ( @info VARCHAR(MAX), @indexStr VARCHAR(50), @split CHAR(2) ) RETURNS VARCHAR(MAX) AS BEGIN DECLARE @index INT, @leftLength INT, @allLength INT,@strSplit VARCHAR(100),@splitIndex INT IF @info='' OR @info IS NULL OR LEN(@info)<LEN(@indexStr) RETURN '不详' SET @index=PATINDEX('%'+@indexStr+'%',@info) SET @leftLength=LEN(LEFT(@info,@index)) SET @allLength=LEN(@Info) SET @strSplit=SUBSTRING(@Info,@leftLength,@allLength-@leftLength) SET @splitIndex=CHARINDEX(@split,SUBSTRING(@Info,@leftLength,@allLength-@leftLength)) IF LEN(SUBSTRING(@strSplit,0,@splitIndex))='' RETURN '不详'; RETURN SUBSTRING(@strSplit,0,@splitIndex); END GO