SQL 字符串转换的问题

Cyanapple_wen 2009-07-12 12:13:15
DECLARE @rand float
SELECT @rand = rand(datepart(millisecond,GETDATE()))
SELECT @rand --结果为:0.729839944150074
SELECT convert(varchar(17),@rand) --结果为:0.72984

想请问各位大虾我要将rand(datepart(millisecond,GETDATE()))中的结果转换成字符串该如何转换?
...全文
37 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
仙道彰 2009-07-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jiangshun 的回复:]
SQL codeDECLARE@randfloatSELECT@rand=rand(datepart(millisecond,GETDATE()))SELECT@rand--结果为:0.729839944150074selectcast(cast(@randas numeric(20,17))asvarchar(20))/*
¡­
[/Quote]
我也是受不逆哥的启发写的,他的numeric(20,17))是不准确的
Cyanapple_wen 2009-07-12
  • 打赏
  • 举报
回复
5楼说的对,我相要的是那个长的字符串而不是要短的。那个短的是系统自动帮我截取了
仙道彰 2009-07-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 feixianxxx 的回复:]
SQL codeDECLARE@randfloatSELECT@rand=rand(datepart(millisecond,GETDATE()))SELECT@rand--结果为:0.729839944150074SELECTconvert(varchar(17),@rand)--结果为:0.72984--哲理不就是字符型了 你还转化什么哦
[/Quote]
估计他想要的是0.720653889319781
不是0.72065吧
t_mrc好
仙道彰 2009-07-12
  • 打赏
  • 举报
回复
DECLARE @rand float 
SELECT @rand = rand(datepart(millisecond,GETDATE()))
SELECT @rand
select cast(cast(@rand as numeric(17,15)) as varchar(20)
/*----------------------
0.720653889319781

(1 行受影响)


--------------------
0.720653889319781

(1 行受影响)

*/
feixianxxx 2009-07-12
  • 打赏
  • 举报
回复
DECLARE @rand float 
SELECT @rand = rand(datepart(millisecond,GETDATE()))
SELECT @rand --结果为:0.729839944150074
SELECT convert(varchar(17),@rand) --结果为:0.72984--哲理不就是字符型了 你还转化什么哦
jiangshun 2009-07-12
  • 打赏
  • 举报
回复
DECLARE @rand float 
SELECT @rand = rand(datepart(millisecond,GETDATE()))
SELECT @rand --结果为:0.729839944150074
select cast(cast(@rand as numeric(20,17)) as varchar(20))

/*

-----------------------------------------------------
0.73071569379920931

(所影响的行数为 1 行)


--------------------
0.73071569379920936

(所影响的行数为 1 行)

*/
feixianxxx 2009-07-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 cyanapple_wen 的回复:]
DECLARE @rand float
SELECT @rand = rand(datepart(millisecond,GETDATE()))
SELECT @rand  --结果为:0.729839944150074
SELECT convert(varchar(17),@rand)  --结果为:0.72984

想请问各位大虾我要将rand(datepart(millisecond,GETDATE()))中的结果转换成字符串该如何转换?
[/Quote]
举个例子看 幻化成怎么样的字符
datename(millisecond,GETDATE()) 出来的结果是字符型的

DECLARE @s varchar 
SELECT @s=datename(millisecond,GETDATE())
select @s
----
4
这个4是字符型的

34,576

社区成员

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

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