初学者的问题,关于存储过程,进者有分!!

areswang 2006-02-17 08:21:40
各位好,
我是SQL初学者,遇到一个问题,关于存储过程的,假设有一张表,其中包括字段(商品编号),并且字段长为8位,现在要求做一个存储过程,当输入1时,就会显行00000001,当输入11时,就会显示00000011,当111时为00000111。谢谢各位,问题解决,马上结。急用。
...全文
71 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
点点星灯 2006-02-20
declare @t table(kkk int) --定义一个表变量

insert @t values(1) --向表中插入数据
insert @t values(11)
insert @t values(111)
insert @t values(1111)


select right('00000000'+convert(varchar(20),kkk),8) from @t
--转换
回复
areswang 2006-02-17
我的QQ,313142113
回复
areswang 2006-02-17
有点看不明白了,我回去好好研究一下,
真的很感谢你的帮忙,刚开始学SQL,太多的不懂了,
能不能加你的QQ?有事好请教!
回复
点点星灯 2006-02-17
用存储过程的output来解决,参考如下

存储过程嵌套的问题

for example:
-------------------------------------------------------
create procedure sp_test1
@id int output
as
begin
set @id = 100
return
end
go

create procedure sp_test2
as
begin
declare @id int
exec sp_test1 @id output
select @id
end
go

exec sp_test2
go

drop procedure sp_test1,sp_test2
go
回复
areswang 2006-02-17
谢谢了,不过怎样返回编号(00000001)啊,是不是在存储过程里加个参数,如何做啊?
回复
点点星灯 2006-02-17

declare @t table(kkk int)

insert @t values(1)
insert @t values(11)
insert @t values(111)
insert @t values(1111)


select right('00000000'+convert(varchar(20),kkk),8) from @t
回复
lsqkeke 2006-02-17
declare @a int
set @a=111
select right(100000000+@a,8)
回复
点点星灯 2006-02-17
select right('00000000'+convert(varchar(20),字段),8) from 表名
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2006-02-17 08:21
社区公告
暂无公告