怎么才能在查询分析器中更新这样的字段

zgysc 2002-12-29 06:24:46
我有一个表,名为table1,表中有一个aa字段(varchar(30)),在查询分析器中执行update table1 set aa=replace(aa,'b','c')没有问题,所有记录都可以更新,但我想update table1 set aa='kkk'+aa+'kkk' 却始终保错,不知怎样才能让每条记录都前后加上‘kkk'
...全文
16 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
junyh 2003-01-01
  • 打赏
  • 举报
回复
同意sincere1314(zc)
的看法
gy007 2002-12-30
  • 打赏
  • 举报
回复
aa 它后边可能还有空值拉 就想C++里字符串\0一样
就用这个不是很好吗update table1 set aa='kkk'+RTrim(aa)+'kkk'
sincere1314 2002-12-30
  • 打赏
  • 举报
回复
还是有点搞不懂,update table1 set aa='kkk'+aa+'kkk' 怎么会报错呢?
难道非要换成@table1???
sincere1314 2002-12-30
  • 打赏
  • 举报
回复
update @table1 set aa=substring(aa,4,1)
这样前后的“kkk”都去掉了

--three insert methods ( insert data )
insert into @table1(aa) values('a')
insert @table1 values('b')
insert @table1 select 'c'
afengsunwin 2002-12-30
  • 打赏
  • 举报
回复
搞定了
update table1 set aa=substring(aa,4,len(aa)-3)
afengsunwin 2002-12-30
  • 打赏
  • 举报
回复
有没有这样的函数:截掉后(前)N个字符
afengsunwin 2002-12-30
  • 打赏
  • 举报
回复
问一个逆向问题:
如果发现'kkk'加错了,如何将它删掉呢?
belllab 2002-12-30
  • 打赏
  • 举报
回复
update table1 set aa='kkk'+RTrim(aa)+'kkk'
xuzhenhua21 2002-12-29
  • 打赏
  • 举报
回复
厉害呀,看贴子都长知识
pengdali 2002-12-29
  • 打赏
  • 举报
回复
哈哈!
zgysc 2002-12-29
  • 打赏
  • 举报
回复
好吧,可不可以给你发email
j9988 2002-12-29
  • 打赏
  • 举报
回复
没有,可发短信给我。
zgysc 2002-12-29
  • 打赏
  • 举报
回复
好了,可以了,太感谢了,你有qq号吗?
j9988 2002-12-29
  • 打赏
  • 举报
回复
你试试下面语句:
declare @table1 table (aa varchar(30))
insert @table1 select 'a'
insert @table1 select 'b'
update @table1 set aa='kkk'+aa+'kkk'
select * from @table1

aa
------------------------------
kkkakkk
kkkbkkk
j9988 2002-12-29
  • 打赏
  • 举报
回复
出错信息贴出来
zgysc 2002-12-29
  • 打赏
  • 举报
回复
还是不行,长度没有问题
j9988 2002-12-29
  • 打赏
  • 举报
回复
语句是正确的。可能总长度超过30吧,改成varchar(40)试试。

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧