如何获得前导零的值

时间:2011-12-07 09:43:48

标签: sql sql-server sql-server-2000

表1

ID (NVarchar Column)

01 
02
03
...

查询

Select max(id) from table1

输出

3

我想获得前导零的最大id,如果是002意味着,查询应该返回002

预期输出

03

如何做到这一点

需要查询帮助

3 个答案:

答案 0 :(得分:3)

我执行了以下代码:

 DECLARE @TABLE TABLE (
            ID nvarchar(10)
            )

 INSERT @TABLE VALUES ( '003' )
 INSERT @TABLE VALUES ( '004' )

 SELECT MAX (ID)

 FROM @TABLE

输出

  004

当使用数据类型为int时:

DECLARE @TABLE TABLE (
            ID int
            )

INSERT @TABLE  values ( '003' )
INSERT @TABLE VALUES ( '004')

SELECT MAX (ID )

FROM @TABLE

输出结果为:

4

我会检查您是否正确定义了数据类型。

答案 1 :(得分:1)

获得想法:Select right('000' + max(id),2) from table1

答案 2 :(得分:0)

您可以按如下方式编写查询:

declare @input int, @len int
set @len = 2
select right(REPLICATE('0',@len)+convert(varchar(5),2),@len ) AS LPAD

我假设你一直都知道长度。你也可以把它变成UDF。