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