求助:如何将位数补足位数

pdsyr 2011-07-20 06:59:34
现有sql200数据库
数据库A1
表Nu
数据类型全部是varchar


SN NAME BIANMA
1 张三 50
2 李四 60

用什么数据库命令可以直接讲上述表格显示成为满5位数值
如:
SN NAME BIANMA
1 张三 00050
2 李四 00060

求助大家,最好把命令格式直接给我。谢谢
...全文
268 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
cd731107 2011-07-20
  • 打赏
  • 举报
回复
把叶子给你的命令放在查询分析器里执行
pdsyr 2011-07-20
  • 打赏
  • 举报
回复
能给我一个完整的命令吗?maco_wang
叶子 2011-07-20
  • 打赏
  • 举报
回复

看这个图,你是先select ,后update的。结果是之前的结果。
请先update 后select 然后看输出结果。
pdsyr 2011-07-20
  • 打赏
  • 举报
回复
SQL SERVER 2000 sp4
叶子 2011-07-20
  • 打赏
  • 举报
回复
你这个是SQL SERVER 2000?还是 MS ACCESS 2000呀?
叶子 2011-07-20
  • 打赏
  • 举报
回复
你的字符型的varchar的长度是多少?
例如 varchar(6) 怎么也更新不出18长度来...
pdsyr 2011-07-20
  • 打赏
  • 举报
回复


数据库结构
cd731107 2011-07-20
  • 打赏
  • 举报
回复
BIANMA是字符型吗?楼主再仔细看一下
cd731107 2011-07-20
  • 打赏
  • 举报
回复
--replicate不好用的,就写死
update Nu set BIANMA=right('000000000000000000'+BIANMA,18)
pdsyr 2011-07-20
  • 打赏
  • 举报
回复
执行后无效果
如图
叶子 2011-07-20
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 pdsyr 的回复:]

引用 8 楼 cd731107 的回复:
SQL code
update Nu set BIANMA='000'+BIANMA


我哪里只是举例
我的数值有8-18位都有的!
[/Quote]
update Nu set BIANMA=right(replicate('0',18)+BIANMA,18)
pdsyr 2011-07-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 cd731107 的回复:]
SQL code
update Nu set BIANMA='000'+BIANMA
[/Quote]

我哪里只是举例
我的数值有8-18位都有的!
cd731107 2011-07-20
  • 打赏
  • 举报
回复
update Nu set BIANMA='000'+BIANMA
pdsyr 2011-07-20
  • 打赏
  • 举报
回复
update Nu set BIANMA=right(replicate('0',18)+BIANMA,18)


使用这个命令之后无效的
liangyong1107 2011-07-20
  • 打赏
  • 举报
回复
参考:REPLICATE函数。。以指定的次数重复字符串值。
pdsyr 2011-07-20
  • 打赏
  • 举报
回复
编码里面有的是包含身份证
最后一位是X
可以生成吗
叶子 2011-07-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 pdsyr 的回复:]

引用 1 楼 maco_wang 的回复:
SQL code

declare @table table (SN int,NAME varchar(4),BIANMA int)
insert into @table
select 1,'张三',50 union all
select 2,'李四',60

select SN,name,BIANMA=
right(replicat……
[/Quote]

create table test0720(SN int,NAME varchar(4),BIANMA varchar(20))
insert into test0720
select 1,'张三',50 union all
select 2,'李四',60

update test0720 set BIANMA=right(replicate('0',5)+BIANMA,5)

select * from test0720

你可以先测试一下。
pdsyr 2011-07-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 maco_wang 的回复:]
SQL code

declare @table table (SN int,NAME varchar(4),BIANMA int)
insert into @table
select 1,'张三',50 union all
select 2,'李四',60

select SN,name,BIANMA=
right(replicate('0',5)+ltrim(BIANMA),5……
[/Quote]


运行之后提示 查询设计器不支持 DECLARE TABLE SQL 构造。
叶子 2011-07-20
  • 打赏
  • 举报
回复
数据类型全部是varchar?
那就好办了,直接更新即可。

update Nu set BIANMA=right(replicate('0',5)+BIANMA,5)
叶子 2011-07-20
  • 打赏
  • 举报
回复

declare @table table (SN int,NAME varchar(4),BIANMA int)
insert into @table
select 1,'张三',50 union all
select 2,'李四',60

select SN,name,BIANMA=
right(replicate('0',5)+ltrim(BIANMA),5) from @table
/*
SN name BIANMA
----------- ---- ----------
1 张三 00050
2 李四 00060
*/

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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