Q
特殊整数转换
2
A
回答
3
or this?
right('000'+ convert(varchar,MyNum),4)
我只是在各种方法上做了一些粗略的计时,这个解决方案似乎比其他方法快一点。这让我吃惊......
DECLARE @loop INT;
DECLARE @MyNum INT;
DECLARE @Upper INT;
DECLARE @Lower INT;
DECLARE @result VARCHAR;
DECLARE @start DATETIME;
SET @Lower = 1;
SET @Upper = 9999;
SET @loop = 10000;
SET @start = GETDATE();
WHILE @loop > 0 BEGIN
SELECT @MyNum = ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0);
SET @loop = @loop -1;
SET @result = right('000'+ convert(varchar,@MyNum),4);
-- SET @result = right(10000 + @MyNum, 4);
-- SET @result = right(convert(float, @MyNum)/10000, 4);
-- SET @result = stuff('0000', 1 + 4 - len(@MyNum), len(@MyNum), @MyNum);
-- SET @result = replace(str(@MyNum, 4), ' ', '0');
END;
SELECT GETDATE() - @start;
+0
我不知道这是否会更快...选择正确(convert(float,MyNum)/ 10000,4) –
+0
如果它更好,那么Mikael的答案可能更好。 –
1
试试这个:
SELECT REPLACE(STR(550, 4), ' ', '0')
!
0
Onw way(NULL,如果len输入> 4);
;with t(f) as (
select 1 union select 11 union select 111 union select 1111
)
select
f,
stuff('0000', 1 + 4 - len(f), len(f), f)
from t
>>
f (No column name)
1 0001
11 0011
11 0111
1111 1111
1
declare @Num int
set @Num = 1
select right([email protected], 4)
相关问题
- 1. 分割特殊字符串转换成两个整数
- 2. 转换浮到整数一种特殊的方式
- 3. PHP:特殊字符转换
- 4. html2text:转换特殊字符
- 5. iOS特殊字符转换
- 6. Unicode特殊字符转换
- 7. 特殊日期转换
- 8. JSON特殊字符转换
- 9. xmltextwriter转换特殊字符
- 10. 特殊符号转换
- 11. 数组的特殊反转
- 12. JSON.NET转换特定关键整数
- 13. 转换特殊字符为RTF
- 14. 转换某些特殊字符在PHP
- 15. 在rails中转换特殊字符
- 16. Javascript/jQuery - 转换特殊的html字符
- 17. 标题特殊字符转换?
- 18. 对特殊字符进行Xslt转换
- 19. PHP转换特殊字符“&”单字符
- 20. 将字符串转换特殊字符
- 21. Xslt转换丢失特殊字符
- 22. 特殊字符转换字符串
- 23. libcurl和特殊字符转换
- 24. 在ASP.NET中转换HTML特殊字符
- 25. javascript不转换特殊字符
- 26. PL/SQL转换特殊字符
- 27. 在excel中转换html特殊字符
- 28. 使用PHP转换特殊字符
- 29. C:转换特殊的ASCII字符ÄÜÜ
- 30. PHP自动转换特殊字符?
应该发生什么整数'99999'?或整数'-9999'?或者我们保证在'0-9999'之间? –
看看[这个问题](http://stackoverflow.com/questions/121864/most-efficient-t-sql-way-to-pad-a-varchar-on-the-left-to-a-一定长度),不是一个确切的重复,但可以提供帮助。 – Jacob
[这个问题](http://stackoverflow.com/questions/2397161/how-to-convert-int-to-char-with-leading-zeros)也可以帮助你。 – denolk