博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL Server经典函数之数字去零
阅读量:4322 次
发布时间:2019-06-06

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

需求:

       针对带有小数点的数字信息,去除小数点后多余的零

可能存在的情况:

    1、精度范围内,出现多余的零    eg:1234.3400     想要的结果为1234.34

    2、精度变大出现的多余的零,或者没有实际小数部分的数据     eg:1234.0      想要的结果为 1234

   3、数据末尾为小数点,但是没有实际的小数    eg:1234.    想要的结果为1234

 

----去零函数 ---去除小数点后多余的零  select dbo.ClearZero('1245.3400')       ---结果为1245.34      create function [dbo].[ClearZero]      (@Number varchar(200))      returns varchar(200)      as      begin          if @Number = '' or @Number is null     ---如果为空,直接返回              return null          else          begin              declare @PointIndex int              set @PointIndex = charindex('.',@Number)                if @PointIndex = 0 return @Number      ---如果不是浮点数,直接返回              if @PointIndex = len(@Number) return replace(@Number,'.','')    ----数字末尾有小数点,直接删除返回              else              begin                  if right(@Number,1) = '0'               ---递归调用,进行去零操作                  begin                      set @Number = substring(@Number,1,len(@Number) - 1)                      return dbo.ClearZero(@Number)                  end                  else                      return @Number              end          end          return null      end      GO

 

转载于:https://www.cnblogs.com/kongxiaoshuang/p/7066527.html

你可能感兴趣的文章
12-FileZilla-响应:550 Permission denied
查看>>
ASP.NET MVC 3 扩展生成 HTML 的 Input 元素
查看>>
LeetCode 234. Palindrome Linked List
查看>>
编译HBase1.0.0-cdh5.4.2版本
查看>>
结构体指针
查看>>
迭代器
查看>>
Food HDU - 4292 (结点容量 拆点) Dinic
查看>>
Ubuntu安装Sun JDK及如何设置默认java JDK
查看>>
[经典算法] 排列组合-N元素集合的M元素子集
查看>>
Codeforces 279D The Minimum Number of Variables 状压dp
查看>>
打分排序系统漫谈2 - 点赞量?点赞率?! 置信区间!
查看>>
valgrind检测linux程序内存泄露
查看>>
MSP430(F149)学习笔记——红外接收
查看>>
cef3的各个接口你知道几个
查看>>
Hadoop以及组件介绍
查看>>
1020 Tree Traversals (25)(25 point(s))
查看>>
第一次作业
查看>>
“==”运算符与equals()
查看>>
单工、半双工和全双工的定义
查看>>
Hdu【线段树】基础题.cpp
查看>>