求SQL float 转varchar

reallylovesky 2009-05-31 03:14:57
SQL里面float 转为 varchar为什么会位数丢失
如我的float为1234.123 转化后要求varchar也为 1234.123


select cast(cast(1234.123 as decimal(18,3)) as varchar(50))
可以满足需求,但是小数位数不确定是无法满足
...全文
956 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanxigang 2009-11-30
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 jonasfeng 的回复:]
SQL codedeclare@tfloatselect@t=206.260695187175select@t+ltrim('')

结果
206.260695187175
[/Quote]
大哥 你这个返回的还是个float呀 还相当于 Select @t
fqbnet2050 2009-05-31
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 JonasFeng 的回复:]
SQL codedeclare@tfloatselect@t=206.260695187175select@t+ltrim('')

把数字改小一点结果
206.260695187175
[/Quote]

declare @t float
select @t = 206.26

select @t + ltrim('')
--206.25999999999999
JonasFeng 2009-05-31
  • 打赏
  • 举报
回复
declare @t float
select @t = 206.260695187175

select @t + ltrim('')


结果
206.260695187175
reallylovesky 2009-05-31
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xiequan2 的回复:]



SQL codeselectconvert(varchar,30206.260695187175111111)------------------------------30206.260695187175111111(所影响的行数为1行)
[/Quote]
你用delcare会发现不符合要求
xiequan2 2009-05-31
  • 打赏
  • 举报
回复



select convert(varchar,30206.260695187175111111)
------------------------------
30206.260695187175111111

(所影响的行数为 1 行)
reallylovesky 2009-05-31
  • 打赏
  • 举报
回复

declare @S float
set @S=30206.260695187175
select result=LOWER(@S)
还是没法
ai_li7758521 2009-05-31
  • 打赏
  • 举报
回复
select result=LOWER(123.1230)

result
----------------------------------------------------------------------------------
123.1230

(1 行受影响)
JonasFeng 2009-05-31
  • 打赏
  • 举报
回复
楼上的不符合楼主的要求呀。
reallylovesky 2009-05-31
  • 打赏
  • 举报
回复

declare @S float
set @S=30206.260695187175
select convert(nvarchar(50),@S)
select cast(@S as nvarchar(50))

小数部分不能全部保留
reallylovesky 2009-05-31
  • 打赏
  • 举报
回复

declare @f float
set @f=1234.12311111166666
select ltrim(@f)
1234.12
jwdream2008 2009-05-31
  • 打赏
  • 举报
回复
select convert(nvarchar(50),1234.423)
select cast(1234.423 as nvarchar(50))
百年树人 2009-05-31
  • 打赏
  • 举报
回复
declare @f float
set @f=1234.123
select ltrim(@f)
/**
----------------------
1234.12

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

34,838

社区成员

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

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