/* @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
