sql >> Databasteknik >  >> RDS >> Sqlserver

Hur tar man bort HTML-taggar från en sträng i SQL Server?

Det finns en UDF som kommer att göra det som beskrivs här:

Användardefinierad funktion för att strippa HTML

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
GO

Edit:notera att detta är för SQL Server 2005, men om du ändrar nyckelordet MAX till något i stil med 4000, kommer det att fungera i SQL Server 2000 också.



  1. 2 sätt att ta bort dubbletter av rader i Oracle

  2. Organisera ditt hemmakontor för ökad produktivitet

  3. Slut på support för SQL Server 2008 &2008 R2

  4. Ta bort HTML-taggar i PostgreSQL