如何在SQL语句中得到类似VB中 format(a,"000000")那样的结果?

zhanggy1973 2010-11-01 03:10:03
一个字段a,number型

现在我想在SQL语句中得到一个字符型结果,位数不足则前面补零,就像VB中那样format(a,"000000")的结果。

我在网上找了好一会也没找到答案,请大家帮我写一下,分别在SQL SERVER及 ORACLE中都是怎么才能达到这样的效果。
...全文
137 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xierme_sun 2010-11-01
  • 打赏
  • 举报
回复
oracle:lpad()
luxi0194 2010-11-01
  • 打赏
  • 举报
回复
两者差距不大吧。lz自己调整一下吧
zhanggy1973 2010-11-01
  • 打赏
  • 举报
回复
谢谢上面二位,哪位老兄再帮我写个ORACLE版本的? 因为这东西常用。
王向飞 2010-11-01
  • 打赏
  • 举报
回复

--> 数据库版本:
--> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
--> 测试数据:[TB]
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[TB]')
AND type in (N'U'))
DROP TABLE [TB]
GO

---->建表
create table [TB](id int)
insert [TB]
select 1 union all
select 2 union all
select 3 union all
select 4
GO

-- 品名 品号 价格
--1 aa 111 16
--2 bb 222 20
--3 cc 333 32


--> 查询结果

select right('0000'+cast(id as varchar),5) from TB
--> 删除表格
--DROP TABLE [TB]
王向飞 2010-11-01
  • 打赏
  • 举报
回复
select right('0000'+cast(id as varchar),5))

34,873

社区成员

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

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