zoukankan      html  css  js  c++  java
  • sql server 2008 去除html标签

    由于商品详情数据库的字段是text,存放的是html,但是要求导出的商品详情中只是商品的描述,不要标签,原来打算先把数据导入excel中,然后利用java的正则去替换,结果由于商品详情太大,一个单元格装不下,破坏了单元格的格式,于是放弃了用java程序去除的方法,oracle中提供的有Regex_replace函数,但是sql server 2008中没有,于是想寻找一个有没有类似的方法,上网找了好多信息,结果都是说什么crl,oel,由于我也是个数据库的小菜鸟,不敢动数据库的这些东西,最后就决定自己用一个函数来实现,做得比较绝对,只要是"<"开头,">"结尾,中间所有的都会删除(包括"<",">"),折腾了好久,最后功能实现了,于是做了一个记录(首先说明sql server 2008中text类型是不支持replace函数的,所以要先把text类型转为varchar类型,有些朋友会担心varchar装不下,这个时候就要用varchar(max)类型了,上网搜了一下,这个类型最大可以支持2G的数据),函数如下:

    create function [dbo].[dropHtmlTag](@cont varchar(max))
    returns varchar(max)
    as
    begin
    declare @tem varchar(max),@i int,@j int;
    set @tem = replace(ISNULL(@cont,''),'&nbsp;','');
    set @i = charindex('<',@tem,0);
    set @j = charindex('>',@tem,1);
      while @i < @j
      begin
        select @tem = replace(@tem,SUBSTRING(@tem,@i,@j-@i+1),'')
        set @i = charindex('<',@tem,0);
        set @j = charindex('>',@tem,1);
      end
    return @tem
    end

  • 相关阅读:
    Java设计模式の工厂模式
    写Java代码分别使堆溢出,栈溢出
    Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析
    Java集合---ConcurrentHashMap原理分析
    Java 集合类详解
    HashMap详谈以及实现原理
    Java设计模式の代理模式
    Java设计模式の单例模式
    mysql之 navicat表权限设置
    MySQL之You can't specify target table for update in FROM clause解决办法
  • 原文地址:https://www.cnblogs.com/andysd/p/3341179.html
Copyright © 2011-2022 走看看