CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

问一个sql语句的写法

楼主hellofox2000(圣代无隐者,英雄尽归来)2005-04-01 21:56:18 在 MS-SQL Server / 应用实例 提问

现在有这样的一个表,数据是这样的  
           
      id       name                                                 imgUrl  
      1     新闻1                   200504011.gif|图片简介1|200504012.gif|图片简介2|200504013.gif|图片简介3  
      2     新闻2                   200504013.gif|图片简介1|200504014.gif|图片简介2|200504013.gif|图片简介3  
      3     新闻3                   200504013.gif|图片简介1|200504014.gif|图片简介2|200504013.gif|图片简介3  
      4     新闻4                   200504013.gif|图片简介1|200504014.gif|图片简介2|200504013.gif|图片简介3  
       
    imgurl   字段是存放图片路径   和简介的,以   |   隔开,图片路径   和简介相间排列  
    现在由于图片路径的更改,图片名称前面需要加上   地址  
    就象这样  
     
    http://img.sohu.com/edu/200504013.gif|图片简介1|http://img.sohu.com/edu/200504014.gif|图片简介2|http://img.sohu.com/edu/200504013.gif|图片简介3  
   
    能不能写一段sql程序,将所有的记录都加上   路径  
    要求只用   sql语言,不能使用   asp/php等脚本 问题点数:100、回复次数:8Top

1 楼huobr(两颗牙齿)回复于 2005-04-01 22:08:47 得分 5

update   表  
  set   imurl   =   '   http://img.sohu.com/edu/'     +   imurl  
   
  update   表  
  set   imurl   =   replace(imurl,'|','   |http://img.sohu.com/edu/'     )  
  Top

2 楼hellofox2000(圣代无隐者,英雄尽归来)回复于 2005-04-01 22:18:00 得分 0

 
  update   表  
  set   imurl   =   '   http://img.sohu.com/edu/'     +   imurl  
   
  update   表  
  set   imurl   =   replace(imurl,'|','   |http://img.sohu.com/edu/'     )  
   
   
  好象不行吧,这样的话,图片简介前面也放上   'http://img.sohu.com/edu/'这个了  
  而这个是不需要放的Top

3 楼zjcxc(邹建)回复于 2005-04-01 22:27:02 得分 80

--写个替换处理函数  
  if   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N'[dbo].[f_replaceSTR]')   and   xtype   in   (N'FN',   N'IF',   N'TF'))  
  drop   function   [dbo].[f_replaceSTR]  
  GO  
   
  CREATE   FUNCTION   f_replaceSTR(  
  @s   varchar(4000),       --要分拆的字符串  
  @path   varchar(100)     --要添加的目录  
  )RETURNS   varchar(8000)  
  AS  
  BEGIN  
  DECLARE   @re   varchar(8000),@i   int  
  SELECT   @re='',@i=0  
  WHILE   CHARINDEX('|',@s)>0  
  SELECT   @re=@re  
  +case   when   @i=0   then   @path   else   ''   end  
  +LEFT(@s,CHARINDEX('|',@s)-1)  
  +'|',  
  @s=STUFF(@s,1,CHARINDEX('|',@s),''),  
  @i=case   when   @i=0   then   1   else   0   end  
  RETURN(@re+case   when   @i=0   then   @path   else   ''   end+@s)  
  END  
  GO  
  Top

4 楼zjcxc(邹建)回复于 2005-04-01 22:27:43 得分 0

--然后调用函数实现更新就可以了  
  update   表   set   imurl   =   dbo.f_replacestr(imurl,'http://img.sohu.com/edu/')Top

5 楼huobr(两颗牙齿)回复于 2005-04-01 22:31:13 得分 5

哪就先将‘|图处简介’   更新成'图处简介’,在执行以上语句后,反过来更新回来就可以了。Top

6 楼luckyprg(lucky)回复于 2005-04-01 22:35:23 得分 5

老大出马,我就不说了。Top

7 楼gzhughie(hughie)回复于 2005-04-01 23:29:11 得分 5

这样应该可以  
   
  UPDATE   TABLE  
        SET   imgurl   =   'http://img.sohu.com/edu/'  
                                  +REPLACE(REPLACE(imgurl,'.gif|','.gif||'),'|','http://img.sohu.com/edu/')Top

8 楼hellofox2000(圣代无隐者,英雄尽归来)回复于 2005-04-07 08:29:48 得分 0

谢谢以上各位Top

相关问题

  • sql 语句写法.
  • sql语句写法
  • sql语句写法
  • SQL语句写法。
  • sql语句写法
  • sql语句- 写法!
  • 请问一个sql语句的写法
  • 请问一个sql语句的写法
  • ¥¥-再问一个SQL语句的写法??
  • 问一个sql语句的写法

关键词

  • 简介
  • 新闻
  • sql
  • 图片简介
  • gif
  • imgurl
  • 路径
  • edu
  • img
  • 图片

得分解答快速导航

  • 帖主:hellofox2000
  • huobr
  • zjcxc
  • huobr
  • luckyprg
  • gzhughie

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo