博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sqlserver把小数点后面多余的0去掉(转)
阅读量:4983 次
发布时间:2019-06-12

本文共 1073 字,大约阅读时间需要 3 分钟。

select 5000/10000.0 --想变成0.5

select 5500/10000.0 --想变成0.55

select 5550/10000.0 --想变成0.555
select 5555/10000.0 --想变成0.5555

其结果分别为:0.5000000    0.5500000  0.5550000   0.5555000

一、如果想去掉数字5后面多余的0 ,需要转化一下:

select CONVERT(FLOAT,5000/10000.0) --想变成0.5

select CONVERT(FLOAT,5500/10000.0) --想变成0.55
select CONVERT(FLOAT,5550/10000.0) --想变成0.555
select CONVERT(FLOAT,5555/10000.0) --想变成0.5555

其结果分别为: 0.5  0.55  0.555 0.5555

二、创建函数:

在sql server 建个函数ClearZero,使用这个函数去掉小数点后面多余的零。

 CREATE function [dbo].[ClearZero](@inValue varchar(50))

returns varchar(50)
as
begin
declare @returnValue varchar(20)
if(@inValue='')
   set @returnValue='' --空的时候为空
else if (charindex('.',@inValue) ='0')
   set @returnValue=@inValue --针对不含小数点的
else if ( substring(reverse(@inValue),patindex('%[^0]%',reverse(@inValue)),1)='.')
          set @returnValue =left(@inValue,len(@inValue)-patindex('%[^0]%',reverse(@inValue))) --针对小数点后全是0的
      else
          set @returnValue =left(@inValue,len(@inValue)- patindex('%[^0]%.%',reverse(@inValue))+1) --其他任何情形
return @returnValue
end

转载于:https://www.cnblogs.com/tonykan/archive/2012/09/13/2682956.html

你可能感兴趣的文章
iOS dom解析xml格式数据
查看>>
SDUT Problem_5 二哥的狗(水题)
查看>>
如何利用RMAN Debug和10046 Trace来诊断RMAN问题?
查看>>
Android性能优化
查看>>
USACO CONTEST 2002 SPRING 绿组.一进制奶牛[ucc]
查看>>
微信公众平台生成带参数二维码
查看>>
【spring boot】SpringBoot初学(2) - properties配置和读取
查看>>
ECSHOP info: Can't pConnect MySQL Server(localhost:3306)!
查看>>
设计模式(十二):通过ATM取款机来认识“状态模式”(State Pattern)
查看>>
Application_Start和Application_End事件执行时间
查看>>
获取表格中的值
查看>>
Implement Trie (Prefix Tree)
查看>>
Island Perimeter
查看>>
学习进度(13)
查看>>
nyoj--586--疯牛(二分&&枚举)
查看>>
spring启动流程
查看>>
UITableViewController的子控件不随着滑动
查看>>
将博客搬至CSDN
查看>>
python IDE pycharm的安装与使用
查看>>
百度推广账户搭建思路
查看>>