一个关于SQL SERVER2005 代码值转换函数的问题
时间:2011-11-07
来源:互联网
returns varchar(100)
as
begin
declare @newstr varchar(100)
declare @output varchar(100)
declare @value varchar(100)
declare @codename VARCHAR(100)
declare @i int
declare @n int
set @newstr = @codeid
set @output = ''
set @n = 1
set @i = Charindex(',',@newstr)
while @i > 0
begin
set @value = SUBSTRING (@newstr , @n , @i-@n)
set @n = @i + 1
set @i = charindex(',',@newstr,@n)
set @newstr = @newstr+SUBSTRING ( @newstr , @i+1 , len(@newstr)-@i)
end
set @codename=''
select @codename=@codename + ',' + codename from T_code where codetype=@codetype and codeid in(@newstr)
if len(@codename)>= 1
set @output = @codename --right(@codename,len(@codename)-1)
return @output
end
传单个值可以转成想要的代码值,如果传数组返回值就为空?求高手帮忙...
作者: Q1293920990 发布时间: 2011-11-07
作者: roy_88 发布时间: 2011-11-07
SQL code
create function [dbo].[GET_CODENAME](@codeid varchar(100),@codetype varchar(100)) returns varchar(100) as begin declare @newstr varchar(100) declare @output varchar(100) declare @value varchar(100) declare @codename VARCHAR(100) declare @i int declare @n int set @codename='' set @newstr = @codeid set @output = '' set @n = 1 set @i = Charindex(',',@newstr) while @i > 0 begin set @value = SUBSTRING (@newstr , @n , @i-@n) set @n = @i + 1 set @i = charindex(',',@newstr,@n) set @newstr = @newstr+SUBSTRING ( @newstr , @i+1 , len(@newstr)-@i) select @codename=@codename + ',' + codename from T_code where codetype=@codetype and codeid in(@value) end if @newstr>'' set @codename=@codename+@newstr if len(@codename)>= 1 set @output = @codename --right(@codename,len(@codename)-1) return @output end
作者: roy_88 发布时间: 2011-11-07
作者: ssp2009 发布时间: 2011-11-07
作者: maco_wang 发布时间: 2011-11-07
作者: yyantifa 发布时间: 2011-11-07
Create function [dbo].[GET_CODENAME](@codeid varchar(100),@codetype varchar(100)) returns varchar(100) as begin declare @codename VARCHAR(100) select @codename=@codename + ',' + codename from T_code where codetype=@codetype and ','+@codeid+',' like '%,'+RTRIM(codeid)+',%' order by CHARINDEX(','+RTRIM(codeid)+',',','+@codeid+',') return stuff(@codename,1,1,'') end
改改,看看是不是这样的效果,简化一下你的写法
作者: roy_88 发布时间: 2011-11-07
作者: fredrickhu 发布时间: 2011-11-07
楼主这是要做什么?
表A
AA BB CC
1 1 1,2,1
表B(代码表)
codetype typename codename codeid
sex 性别 男 1
sex 性别 女 2
我想写个函数转换表A的CC字段为相应的codename;
作者: Q1293920990 发布时间: 2011-11-07
引用 7 楼 fredrickhu 的回复:
楼主这是要做什么?
表A
AA BB CC
1 1 1,2,1
表B(代码表)
codetype typename codename codeid
sex 性别 男 1
sex 性别 女 2
我想写个函数转换表A的CC字段为相应的cod……
参照以上方法。
作者: roy_88 发布时间: 2011-11-07
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28