随机数问题

tu_quan_ren 2009-07-13 06:29:23

我想把生成的随机数,转换成字符串,然后用Substring提取,
第二条语句转换成varchar()类型后,却被截取了很多,我想请教
那位老师,能解释一下,为什么被截断了?


select rand(datename(ms,getdate()))--第一条
select convert(varchar(20),rand(datename(ms,getdate())))--第二条

----------------------
0.723448835008511

(1 row(s) affected)


--------------------
0.723449

(1 row(s) affected)








...全文
61 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
fckadxz 2009-08-09
  • 打赏
  • 举报
回复
select convert(varchar(39),CONVERT(decimal(38, 37), rand(datename(ms,getdate()))))
fckadxz 2009-08-09
  • 打赏
  • 举报
回复
SQL codeselectconvert(varchar(38+1),CONVERT(decimal(38,37),rand(datename(ms,getdate()))))--第二条
zhxingway 2009-08-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yanguoliusheng 的回复:]
引用 2 楼 zjcxc 的回复:
SQL codeselectconvert(varchar(20),CONVERT(decimal(38,37),rand(datename(ms,getdate()))))--第二条


好大来了?
[/Quote]

第一次看到老大的行踪,幸会幸会.
  • 打赏
  • 举报
回复
二楼的正解,第二条应该这样写:
[code={sql}]
select convert(varchar(20),CONVERT(decimal(38, 37), rand(datename(ms,getdate()))))-第二条
[/code]
仙道彰 2009-07-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zjcxc 的回复:]
SQL codeselectconvert(varchar(20),CONVERT(decimal(38,37),rand(datename(ms,getdate()))))--第二条
[/Quote]

好大来了?
tu_quan_ren 2009-07-13
  • 打赏
  • 举报
回复
了解了,转换为decimal或numeric指定一下精度,在转换为字符串,就没问题了。
thank you!
feixianxxx 2009-07-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zjcxc 的回复:]
SQL codeselectconvert(varchar(20),CONVERT(decimal(38,37),rand(datename(ms,getdate()))))--第二条
[/Quote]
老大。。。。
你出现了?
tu_quan_ren 2009-07-13
  • 打赏
  • 举报
回复
可是限定了varchar(20)的长度了,也要四舍五入吗?
zjcxc 元老 2009-07-13
  • 打赏
  • 举报
回复
select convert(varchar(20),CONVERT(decimal(38, 37), rand(datename(ms,getdate()))))--第二条
feixianxxx 2009-07-13
  • 打赏
  • 举报
回复
他在转化的时候 有个隐形的四舍五入

34,593

社区成员

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

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