替换子符

wangbinqz 2011-10-08 09:10:26
比如表的结构如下

na

'可比g薯片32g'
'32克可比g薯片'

想要的结果是


'可比克薯片32g'
'32克可比克薯片'

.....................
只要发现 可比g 就把后面的 g 替换成 克
...全文
135 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangbinqz 2011-10-09
  • 打赏
  • 举报
回复
谢谢大家的帮助
小弟现在分数不够不能结贴.最佳答案
update tb set na=replace(na,'可比g','可比克') where charindex('可比g',na)>0
select * from [tb]
----------------结果----------------------------
/* na
----------------------------------------------------------------------------------------------------
可比克薯片32g
32克可比克薯片

(2 行受影响)
xiangaylian 2011-10-09
  • 打赏
  • 举报
回复
7楼+1
q465897859 2011-10-08
  • 打赏
  • 举报
回复
update #tb
set na= stuff(na,CHARINDEX('g',na),1,'克')
q465897859 2011-10-08
  • 打赏
  • 举报
回复
select '可比g薯片32g' na into #tb
union all
select '32克可比g薯片'
select stuff(na,CHARINDEX('g',na),1,'克') from #tb
sshakl 2011-10-08
  • 打赏
  • 举报
回复
如果你上面固定是这种格式- -那你只能用
UPDATE table SET na = '可比克薯片32g' FROM table WHERE na = '可比g薯片32g'
NBDBA 2011-10-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wangbinqz 的回复:]
只替换 可比g 的g. 32g的g不能替换...
[/Quote]
7楼
--小F-- 2011-10-08
  • 打赏
  • 举报
回复
请看 7楼
wangbinqz 2011-10-08
  • 打赏
  • 举报
回复
只替换 可比g 的g. 32g的g不能替换...
--小F-- 2011-10-08
  • 打赏
  • 举报
回复
----------------------------------------------------------------
-- Author :fredrickhu(小F,向高手学习)
-- Date :2011-10-08 09:17:57
-- Verstion:
-- Microsoft SQL Server 2008 R2 (RTM) - 10.50.1617.0 (Intel X86)
-- Apr 22 2011 11:57:00
-- Copyright (c) Microsoft Corporation
-- Enterprise Evaluation Edition on Windows NT 6.1 <X64> (Build 7600: ) (WOW64)
--
----------------------------------------------------------------
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([na] varchar(100))
insert [tb]
select '可比g薯片32g' union all
select '32克可比g薯片'
--------------开始查询--------------------------
update tb set na=replace(na,'可比g','可比克') where charindex('可比g',na)>0
select * from [tb]
----------------结果----------------------------
/* na
----------------------------------------------------------------------------------------------------
可比克薯片32g
32克可比克薯片

(2 行受影响)
*/
--小F-- 2011-10-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wangbinqz 的回复:]
是的不能替换
[/Quote]
--小F-- 2011-10-08
  • 打赏
  • 举报
回复
----------------------------------------------------------------
-- Author :fredrickhu(小F,向高手学习)
-- Date :2011-10-08 09:17:57
-- Verstion:
-- Microsoft SQL Server 2008 R2 (RTM) - 10.50.1617.0 (Intel X86)
-- Apr 22 2011 11:57:00
-- Copyright (c) Microsoft Corporation
-- Enterprise Evaluation Edition on Windows NT 6.1 <X64> (Build 7600: ) (WOW64)
--
----------------------------------------------------------------
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([na] varchar(100))
insert [tb]
select '可比g薯片32g' union all
select '32克可比g薯片'
--------------开始查询--------------------------
update tb set na=replace(na,'g','克') where charindex('g',na)>0
select * from [tb]
----------------结果----------------------------
/* na
----------------------------------------------------------------------------------------------------
可比克薯片32克
32克可比克薯片

(2 行受影响)
*/
wangbinqz 2011-10-08
  • 打赏
  • 举报
回复
是的不能替换
NBDBA 2011-10-08
  • 打赏
  • 举报
回复
'可比克薯片32g'
后面那个g不替换???
--小F-- 2011-10-08
  • 打赏
  • 举报
回复
update tb set na=replace(na,'g','克') where charindex('g',col)>0
NBDBA 2011-10-08
  • 打赏
  • 举报
回复
update tab set
na = replace(na,'g','克')

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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