如何以“0000012”的格式显示数字“12”

时间:2011-02-22 06:38:01

标签: sql sql-server sql-server-2005

如何使用SQL

以“0000012”的格式显示数字“12”

7 个答案:

答案 0 :(得分:4)

如果您只想要数字12那么

SELECT '0000012'

否则,如果是一个数字,则需要显示7位数字:

SELECT RIGHT('0000000'+CONVERT(nvarchar,FieldValue),7)

有关该问题的更多信息会有所帮助。

答案 1 :(得分:2)

这样的东西
DECLARE @Val INT
DECLARE @Length INT

SELECT  @Val = 12,
        @Length = 7

SELECT  REPLICATE('0',@Length - LEN(CAST(@Val AS VARCHAR(MAX)))) + CAST(@Val AS VARCHAR(MAX))

REPLICATE (Transact-SQL)

  

重复指定的字符串值   次数。

答案 2 :(得分:1)

可能也最有效的最短答案就是

SELECT RIGHT(10000000+ @Val, @Length)

e.g。

SELECT RIGHT(10000000+ NumColumn, 7)

答案 3 :(得分:0)

我没有要测试的服务器,但您应该能够在SQL中使用以下内容:

'RN ' + RIGHT(CAST(auto_id AS VarChar) + '000000', 6)

例如: 代码:

SELECT 'RN ' + RIGHT(CAST(auto_id AS VarChar) + '000000', 6)
FROM tablename

答案 4 :(得分:0)

效率不高但适用于您的情况 -

DECLARE @num int
DECLARE @totalChar int

SET @num = 12
SET @totalChar = 10

SELECT right('0000000000' + CONVERT(varchar, @num), @totalChar)

输出 -

000000012

答案 5 :(得分:0)

这应该很容易移植到其他SQL:

SELECT
   REVERSE(CAST(REVERSE(CAST(CAST(12 AS INTEGER) AS VARCHAR(7))) + '000000' AS CHAR(7)))

答案 6 :(得分:0)

SELECT REPLACE(STR(12, 7), ' ', '0')