表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
---------------------------------------------------------------------------------------------------请各位大虾帮忙了。
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
---------------------------------------------------------------------------------------------------请各位大虾帮忙了。
update tb set images=replace(images,N'平面图',N'图片')--不行就这个
执行显示:参数数据类型 text 对于 replace 函数的参数 1 无效。
update tb set images=replace(cast(images as varchar(4000)),N'平面图',N'图片')
--2005 可以 varchar(8000) 或者 varchar(max)
update tb set images=replace(cast(images as varchar(max)),'平面图','图片')
谢谢你,已经解决了,用update tb set images=replace(cast(images as varchar(max)),N'平面图',N'图片')解决的,我想知道这个“N”代表什么意思,还有转换哪里用“max”好还是用“4000”好
加上N代表存入数据库时以 Unicode 格式存储。N'string' 表示string是个Unicode字符串sqlserver2000中,不可以用varchar(max).最大的长度应该是8000