一个字段a,number型现在我想在SQL语句中得到一个字符型结果,位数不足则前面补零,就像VB中那样format(a,"000000")的结果。我在网上找了好一会也没找到答案,请大家帮我写一下,分别在SQL SERVER及 ORACLE中都是怎么才能达到这样的效果。

解决方案 »

  1.   

    select right('0000'+cast(id as varchar),5))
      

  2.   


    --> 数据库版本:
    --> 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]
      

  3.   

    谢谢上面二位,哪位老兄再帮我写个ORACLE版本的? 因为这东西常用。