((((((((怎么样将6转换成‘00006’))))))?

hufanxp 2004-09-20 05:02:31
rt
...全文
225 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
attila2003 2004-09-21
  • 打赏
  • 举报
回复
将‘33’变成‘000033’

select substring('000000' + '33',len('33') + 1,6)
imhere_l 2004-09-21
  • 打赏
  • 举报
回复
邹的办法很好啊
zsforever 2004-09-21
  • 打赏
  • 举报
回复
select replace(str(6,6,0),' ','0')
select replace(str(16,6,0),' ','0')
pbsql 2004-09-21
  • 打赏
  • 举报
回复
一楼的
明后天会更好 2004-09-21
  • 打赏
  • 举报
回复
166变成00016
明后天会更好 2004-09-21
  • 打赏
  • 举报
回复
问题是这样的,输入一个数,让它能够5位不够前面补0
例:6变成000006
venket 2004-09-21
  • 打赏
  • 举报
回复
用convert也可以阿
xiaoxiangqing 2004-09-20
  • 打赏
  • 举报
回复
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[table_1]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[table_1]

create table table_1(編號 varchar(20) not null ,單位長度 float null,數量 float null,批號 varchar(20) null,primary key(編號))

go

insert into table_1
select '1',10,500,'001' union all
select '2',10,200,'002' union all
select '3',10,300,'003' union all
select '4',10,300,'003' union all
select '5',10,500,'001' union all
select '6',10,200,'002' union all
select '7',10,300,'003' union all
select '8',10,300,'003' union all
select '9',10,400,'004' union all
select '12',10,200,'002' union all
select '123',10,200,'002' union all
select '1234',10,300,'003'


select * from table_1
/*
編號 單位長度 數量 批號
1 10.0 500.0 001
12 10.0 200.0 002
123 10.0 200.0 002
1234 10.0 300.0 003
2 10.0 200.0 002
3 10.0 300.0 003
4 10.0 300.0 003
5 10.0 500.0 001
6 10.0 200.0 002
7 10.0 300.0 003
8 10.0 300.0 003
9 10.0 400.0 004
*/


--方法一:
select right('000000'+編號,6) as 編號,單位長度,數量,批號 from table_1
/*
編號 單位長度 剩余數量 批號
000001 10.0 500.0 001
000012 10.0 200.0 002
000123 10.0 200.0 002
001234 10.0 300.0 003
000002 10.0 200.0 002
000003 10.0 300.0 003
000004 10.0 300.0 003
000005 10.0 500.0 001
000006 10.0 200.0 002
000007 10.0 300.0 003
000008 10.0 300.0 003
000009 10.0 400.0 004
*/

--方法二:
select replicate('0',6-len(編號))+編號 as 編號,單位長度,數量,批號 from table_1
/*
編號 單位長度 剩余數量 批號
000001 10.0 500.0 001
000012 10.0 200.0 002
000123 10.0 200.0 002
001234 10.0 300.0 003
000002 10.0 200.0 002
000003 10.0 300.0 003
000004 10.0 300.0 003
000005 10.0 500.0 001
000006 10.0 200.0 002
000007 10.0 300.0 003
000008 10.0 300.0 003
000009 10.0 400.0 004
*/
qgj99 2004-09-20
  • 打赏
  • 举报
回复
select stuff('6',1,1,'00006') 不好意思上面多了两个
qgj99 2004-09-20
  • 打赏
  • 举报
回复
select stuff('6',1,1,'0000006')
Andy__Huang 2004-09-20
  • 打赏
  • 举报
回复
另外一種辦法

declare @s varchar(100)
set @s='6'
select replace(space(5-len(@s)),' ','0')+@s

結果:00006
zjcxc 元老 2004-09-20
  • 打赏
  • 举报
回复
select right(1000000+6,6)
heibai520 2004-09-20
  • 打赏
  • 举报
回复
这样来吧!应该是字符串才可以
select replace(space(5)+'6',' ','0')
张海霖 2004-09-20
  • 打赏
  • 举报
回复
select '00000'+case(6 as varchar)
pbsql 2004-09-20
  • 打赏
  • 举报
回复
right('000000'+cast(6 as varchar),6)

34,593

社区成员

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

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