在sql server 2012中显示子字符串

时间:2015-08-24 06:43:02

标签: sql sql-server-2008 sql-server-2012

我需要提取列中列的一部分字符串。例如:我有一个表“Employee”,并希望在错误列中显示实际的错误消息。

enter image description here

必需:

enter image description here

请帮帮我。提前感谢所有回复。

1 个答案:

答案 0 :(得分:0)

你应该使用一个常用函数去除错误标记,

CREATE FUNCTION [dbo].[udf_StripHTML] (@HTMLText VARCHAR(MAX))
RETURNS VARCHAR(MAX) AS
BEGIN
    DECLARE @Start INT
    DECLARE @End INT
    DECLARE @Length INT
    SET @Start = CHARINDEX('<',@HTMLText)
    SET @End = CHARINDEX('>',@HTMLText,CHARINDEX('<',@HTMLText))
    SET @Length = (@End - @Start) + 1
    WHILE @Start > 0 AND @End > 0 AND @Length > 0
    BEGIN
        SET @HTMLText = STUFF(@HTMLText,@Start,@Length,'')
        SET @Start = CHARINDEX('<',@HTMLText)
        SET @End = CHARINDEX('>',@HTMLText,CHARINDEX('<',@HTMLText))
        SET @Length = (@End - @Start) + 1
    END
    RETURN LTRIM(RTRIM(@HTMLText))
END

通过制作此功能,可以这样调用

选择dbo。[udf_StripHTML]('带标签的字符串')