求一替换的SQL语句!

byhum 2006-10-28 10:24:36
现在表中有一个Rname字段,其中有的字符形式为:
安徽省新宇缆业集团有限公司(原安徽新宇电缆总厂)
尚朋堂(广州)电器有限公司
宁波斯佳电器有限公司 (慈溪市斯佳电器厂)
现要求:
1,将带有(原...)的字符全部删掉,
2,将括号中没有"原"字样的记录拆分成两条记录,
3,括号中只有(广州)这类地名的记录保持不变;
请问大家该如何解决?分不够了,明天再加!
...全文
217 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
byhum 2006-10-28
  • 打赏
  • 举报
回复
to lovvver(www.notsoft.cn)! :
我拿到c#版来又怎么了?目的是为了让贴子提前一下,我再转回去!
分少怎么了?帮助人就是为了图分吗?人家dawugui(潇洒老乌龟)怎么就没像你计较这么多?
你的人品太差了!
不帮忙还四处挑别人的毛病!

byhum 2006-10-28
  • 打赏
  • 举报
回复
to lovvver(www.notsoft.cn)! :

分不够了,明天再加!

这句话你看不见吗!
byhum 2006-10-28
  • 打赏
  • 举报
回复
to lovvver(www.notsoft.cn)! :
你说话注意点!不知道什么情况就别乱张嘴!我都说得明明白白!分不够了,只有20分了,我也知道少,不是都说了明天再给加分吗!我是先放到SQL社区的,得不到解决我才转移到C#社区的!我最鄙视最讨厌你这种不帮忙净瞎叫唤的人!
眼睛看的都是别人的短处!净挑别人的毛病!有一个星了不起啊!
dawugui 2006-10-28
  • 打赏
  • 举报
回复
update table tb
set Rname = replace(rname , substring(rname , charindex('[(]原',rname) , charindex('[)]',rname) - charindex('[(]原',rname)) , '')
where datalenth(substring(rname , charindex('[(]原',rname) , charindex('[)]',rname) - charindex('[(]原',rname))) > 10
忘记在保留字加[]
刚才在SQLSERVER版的.
lovvver 2006-10-28
  • 打赏
  • 举报
回复
20分,楼主太扣门了,而且这样的问题还拿到c#版来。
严重鄙视你~
byhum 2006-10-28
  • 打赏
  • 举报
回复
谢谢楼上,执行的时候出现了:
服务器: 消息 536,级别 16,状态 3,行 1
向 substring 函数传递了无效的 length 参数。
语句已终止。
dawugui 2006-10-28
  • 打赏
  • 举报
回复
(原安徽新宇电缆总厂)长度20
(广州)长度6

看情况你要删除的长度在10以上,而(广州)之类的长度应该在10以下.

update table tb
set Rname = replace(rname , substring(rname , charindex('(原',rname) , charindex(')',rname) - charindex('(原',rname)) , '')
where datalenth(substring(rname , charindex('(原',rname) , charindex(')',rname) - charindex('(原',rname))) > 10
发帖
C#

10.9w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2006-10-28 10:24
社区公告

让您成为最强悍的C#开发者