表:
CREATE TABLE [dbo].[WorkData_Archives](
[SysID] [int] IDENTITY(1,1) NOT NULL,
[WContent] [nvarchar](max) COLLATE Chinese_PRC_CI_AS NOT NULL
)
在WContent字段里类似内容:
<p align="center"><img src="http://file.wmb.gov.cn/Image/Upload_1160320120511172127.jpg" alt="" /></p>  <p align="center"><span style="font-family: 宋体; color: #0000ff; font-size: 12pt">照片 091</span></p>  <p align="center"><img src="http://file.wmb.gov.cn/Image/Upload_1160320120511172049.jpg" alt="" /></p>  <p align="center"><span style="font-family: 宋体; color: #0000ff; font-size: 12pt">照片 086</span></p>  <p>&nbsp;</p>  <div><b>舞动清风我型我秀<span>&nbsp;跳出激情舞动精彩</span></b></div>  <div><b>&nbsp;</b></div>  <div>为了迎接党的十八大,巩固廉洁文化进社区的丰硕成果,展社区居民靓丽风采,丰富居民业余生活,<span>5月11日下午都宝花园社区文化艺术节系列之四&ldquo;舞动清风、我型我秀&rdquo;第二届居民健身大比舞比赛在社区活动广场举行,比赛中,参赛选手们的出色发挥,和社区居民的热情参与,使整个比赛充满了激情与欢乐,由社区老年队表演的柔力球《茉莉花》将整场比赛推向了高潮。本次比赛得到广大社区居民的高度赞扬,他们表示今后将积极参加社区开展的各项活动,丰富业余生活,提高自身修养。</span></div>  <div>(都宝花园社居委<span>&nbsp;黄清泉)2012-5-11</span></div>也就是说有很多图片信息:<img src="http://file.wmb.gov.cn/Image/Upload_1160320120511172127.jpg" alt="" />
当时没有想到用户发的图片很多,图片存放在一个目录,现在我需要按月存放图片,也就是要把这样的连接修改成:
<img src="http://file.wmb.gov.cn/Image/20120511/Upload_1160320120511172127.jpg" alt="" />
图片名称格式:前缀Upload,上传人编号11603(都是5位),日期时间 20120511172127,图片后缀.jpg我怎么用SQL来修改

解决方案 »

  1.   

    错了是按月存放:<img src="http://file.wmb.gov.cn/Image/201205/Upload_1160320120511172127.jpg" alt="" />
      

  2.   

    -- 测试数据
    select s='<p align="center"><img src="http://file.wmb.gov.cn/Image/Upload_1160320120511172127.jpg" alt="" /></p>' into #ta
    -- 结果
    select 
    s=replace(cast(s as varchar(max)),'Image/Upload','Image/'+ substring(cast(s as varchar(max)), charindex('Upload_',cast(s as varchar(max)))+12, 6) +'/Upload')
    from #ta
    -- <p align="center"><img src="http://file.wmb.gov.cn/Image/201205/Upload_1160320120511172127.jpg" alt="" /></p>
    -- 拿得出的结果更新一下就可以了
      

  3.   

    WContent--为什么不用xml类型?sql05以上版本可以满足这样的格式
      

  4.   

    declare @s nvarchar(2000)='<p align="center"><img src="http://file.wmb.gov.cn/Image/Upload_1160320120511172127.jpg" alt="" /></p>'
    set @s=STUFF(@s,charindex('Upload_',@s),0,substring(@s,charindex('Upload_',@s)+12,8)+'/')
    select @s
      

  5.   

    substring切割字符串中日期再替换掉/Image/