表a中有个images字段,值如下(有空值):
images
---------------------------------------------------------------------------------------------------
,9876543210平面图1.jpg
,1234567890平面图1.jpg,1234567890平面图2.jpg
,8888888888平面图1.jpg,8888888888平面图2.jpg,8888888888平面图3.jpg
,9999999999平面图1.jpg,9999999999平面图2.jpg,9999999999平面图3.jpg
---------------------------------------------------------------------------------------------------
现在我要用SQL语句实现将所有的“平面图”换成“图片”,实现后应显示为:
images
---------------------------------------------------------------------------------------------------
,9876543210图片1.jpg
,1234567890图片1.jpg,1234567890图片2.jpg
,8888888888图片1.jpg,8888888888图片2.jpg,8888888888图片3.jpg
,9999999999图片1.jpg,9999999999图片2.jpg,9999999999图片3.jpg
---------------------------------------------------------------------------------------------------请各位大虾帮忙了。

解决方案 »

  1.   

    update tb set images=replace(images,'平面图','图片')
      

  2.   

    update tb set images=replace(images,'平面图','图片')
      

  3.   


    update tb set images=replace(images,N'平面图',N'图片')--不行就这个
      

  4.   


    执行显示:参数数据类型 text 对于 replace 函数的参数 1 无效。
      

  5.   


    update tb set images=replace(cast(images as varchar(4000)),N'平面图',N'图片')
    --2005 可以 varchar(8000) 或者 varchar(max)
      

  6.   

    --2005的做法
    update tb set images=replace(cast(images as varchar(max)),'平面图','图片')
      

  7.   

    update tb set images=replace(cast(images as varchar(4000)),N'平面图',N'图片')
      

  8.   


    谢谢你,已经解决了,用update tb set images=replace(cast(images as varchar(max)),N'平面图',N'图片')解决的,我想知道这个“N”代表什么意思,还有转换哪里用“max”好还是用“4000”好
      

  9.   

    cast 是转换函数   (原东东   AS  替换的东西)N就知道了
      

  10.   


    加上N代表存入数据库时以 Unicode 格式存储。N'string' 表示string是个Unicode字符串sqlserver2000中,不可以用varchar(max).最大的长度应该是8000
      

  11.   

    能不能给我看看这个问题要怎么解决:http://topic.csdn.net/u/20110523/14/3be3a4bc-cc10-40b9-a180-669b6961e511.html?seed=652826250&r=73459342#r_73459342