sql替换语句
来源:互联网 发布:淘宝订单清洗那钱呢 编辑:程序博客网 时间:2024/06/07 09:49
--分解字符串包含的信息值后然后合并到另外一表的信息
--(爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开) 2007-12-23 广东深圳)
/*问题描述
tba
ID classid name
1 1,2,3 西服
2 2,3 中山装
3 1,3 名裤
tbb
id classname
1 衣服
2 上衣
3 裤子
我得的结果是
id classname name
1 衣服,上衣,裤子 西服
2 上衣,裤子 中山装
3 衣服,裤子 名裤
*/
-----------------------------------------------------
--sql server 2000中的写法
create table tba(ID int,classid varchar(20),name varchar(10))
insert into tba values(1,'1,2,3','西服')
insert into tba values(2,'2,3' ,'中山装')
insert into tba values(3,'1,3' ,'名裤')
create table tbb(ID varchar(10), classname varchar(10))
insert into tbb values('1','衣服')
insert into tbb values('2','上衣')
insert into tbb values('3','裤子')
go
--第1种方法,创建函数来显示
create function f_hb(@id varchar(10))
returns varchar(1000)
as
begin
declare @str varchar(1000)
set @str=''
select @str=@str+','+[classname] from tbb where charindex(','+cast(id as varchar)+',',','+@id+',')>0
return stuff(@str,1,1,'')
end
go
select id,classid=dbo.f_hb(classid),name from tba
drop function f_hb
/*
id classid name
----------- ------------- ----------
1 衣服,上衣,裤子 西服
2 上衣,裤子 中山装
3 衣服,裤子 名裤
(所影响的行数为 3 行)
*/
--第2种方法.update
while(exists (select * from tba,tbb where charindex(tbb.id,tba.classid) >0))
update tba
set classid= replace(classid,tbb.id,tbb.classname)
from tbb
where charindex(tbb.id,tba.classid)>0
select * from tba
/*
ID classid name
----------- -------------------- ----------
1 衣服,上衣,裤子 西服
2 上衣,裤子 中山装
3 衣服,裤子 名裤
(所影响的行数为 3 行)
*/
drop table tba,tbb
- 字符串替换sql语句
- sql server 替换语句
- sql替换语句
- sql替换语句
- SQL批量替换语句
- sql语句 替换数据
- sql语句-批量替换
- sql 语句替换字符串
- SQL 替换语句汇总
- sql 替换语句
- mysql 替换字符串 sql语句
- sql替换NOT IN语句
- 批量替换sql 字段名称sql语句
- 关于SQL ASP批量替换语句 执行
- SQL 语句执行批量替换操作
- sql语句替换数据库中某段字符
- sql语句 替换列中的指定字符
- sql语句批量替换字段数据
- Copy Constructor 建构操作
- 对SCrum里的一些实践的困惑?
- usb ccid 枚举分析
- 期待
- instanceof 非常有用的东东哦···
- sql替换语句
- 古文励志名言
- joomla 安装模块出现无法移动文件解决办法
- 基于Visual Studio2010与C#4.0新功能和展望--“dynamic”和“object”之间的关键区别
- 有用的博客
- 双倍超立方数
- 校赛——填充数字串——分析
- 如何修改SQLPLUS提示符和mysql提示符
- 给win7系统安装IIS