34,590
社区成员
发帖
与我相关
我的任务
分享
declare @s numeric(20,10)
set @s = 2555.784000
select case when cast(@s as float) > cast(cast(@s as float) as INT) then cast(@s as float)
else cast(cast(@s as float) as int) end
求两位有效数字,我用的是循环,没想到更好的方法了
declare @str nvarchar(20), @len int
set @str = '0.0001232'
set @len = charindex('.',@str)+1
while charindex('0',@str,@len)=@len
begin
set @len=@len+1
end
select substring(@str,1,@len+1)
select cast(round(1.00/3,2) as decimal(18,2))
--------------------
.33
(所影响的行数为 1 行)