SQL SERVER 里,把数字5转成字符串 ‘00005’ 怎么写?

wag_enu 2009-12-31 08:14:05
SQL 2000 版本.
...全文
247 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
nianran520 2009-12-31
  • 打赏
  • 举报
回复
呃 你怎么跑这来了
wag_enu 2009-12-31
  • 打赏
  • 举报
回复
再次谢谢各位.
dawugui 2009-12-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wag_enu 的回复:]
我的意思是要通用的方法:
把一个小于 99999 的数字转成 5位长度的字符串.数字不足5位的转成字符后前面补0

[/Quote]
把2楼的数字改为变量即可.
declare @cnt as int
set @cnt = 5

select right('0000'+cast(@cnt as varchar),5)
select right('0000'+rtrim(@cnt),5)
/*

----------
00005

(所影响的行数为 1 行)


----------
00005

(所影响的行数为 1 行)
*/

set @cnt = 99999
select right('0000'+cast(@cnt as varchar),5)
select right('0000'+rtrim(@cnt),5)

/*

----------
99999

(所影响的行数为 1 行)


----------
99999

(所影响的行数为 1 行)
*/

set @cnt = 999
select right('0000'+cast(@cnt as varchar),5)
select right('0000'+rtrim(@cnt),5)
/*

----------
00999

(所影响的行数为 1 行)


----------
00999

(所影响的行数为 1 行)
*/
-狙击手- 2009-12-31
  • 打赏
  • 举报
回复
select right('00000'+rtrim(5),5)
wag_enu 2009-12-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jiangshun 的回复:]
SQL codeselectright(rtrim(100000+5),5)/*

----------
00005

(1 行受影响)*/
[/Quote]

哦...
我好笨哦...
wag_enu 2009-12-31
  • 打赏
  • 举报
回复
我的意思是要通用的方法:
把一个小于 99999 的数字转成 5位长度的字符串.数字不足5位的转成字符后前面补0
jiangshun 2009-12-31
  • 打赏
  • 举报
回复
select right(rtrim(100000+5),5)

/*

----------
00005

(1 行受影响)

*/
dawugui 2009-12-31
  • 打赏
  • 举报
回复
select right('0000'+cast(5 as varchar),5)

select right('0000'+rtrim(5),5)

/*

----------
00005

(所影响的行数为 1 行)


----------
00005

(所影响的行数为 1 行)
*/
jiangshun 2009-12-31
  • 打赏
  • 举报
回复
right(rtim(100000+5),5)

34,590

社区成员

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

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