Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да премахнете HTML тагове от низ в SQL Server?

Има UDF, който ще направи това, описано тук:

Дефинирана от потребителя функция за премахване на 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

Редактиране:обърнете внимание, че това е за SQL Server 2005, но ако промените ключовата дума MAX на нещо като 4000, тя ще работи и в SQL Server 2000.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да върнете *всичко* от съхранена процедура с помощта на JDBC

  2. T-SQL динамична опора

  3. MAX срещу Топ 1 - кое е по-добро?

  4. Вмъкване на няколко реда в една SQL заявка?

  5. SQL производителност:WHERE срещу WHERE(ROW_NUMBER)