sql server数据库实现保留指定位数小数的函数
生活随笔
收集整理的這篇文章主要介紹了
sql server数据库实现保留指定位数小数的函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有時候需要對一個特定的含有小數點的數字保留指定位數,比如“123.123600”。
在數據庫中以函數的形式實現如下:
USE [數據庫名稱] GO /****** Object: UserDefinedFunction [dbo].[AvgLimit] Script Date: 2016/12/29 11:30:44 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO create function [dbo].[AvgLimit](@strength numeric(20,6),@numlimit int)Returns varchar(30)As BeginDeclare @avg numeric(20,6)Declare @avgStr varchar(30)Set @avg= round(@strength,@numlimit)Set @avgStr= convert(varchar(30),@avg)if @numlimit=0set @avgStr = substring(@avgStr,0,len(@avgStr)-6)if @numlimit>0set @avgStr = substring(@avgStr,0,len(@avgStr)-5+@numlimit)--substring(@avgStr,0,len(@avgStr)-6+@numlimit) Return @avgStrEnd舉例說明:
--保留0位小數,結果:123 select [dbo].[AvgLimit](123.123600,0) --保留1位小數,結果:123.1 select [dbo].[AvgLimit](123.123600,1) --保留2位小數,結果:123.12 select [dbo].[AvgLimit](123.123600,2) --保留3位小數,結果:123.124 select [dbo].[AvgLimit](123.123600,3) --保留4位小數,結果:123.1236 select [dbo].[AvgLimit](123.123600,4) --保留5位小數,結果:123.12360 select [dbo].[AvgLimit](123.123600,5)注意:最多只能保留6位小數,因為創建函數的時候傳遞的參數@strength numeric(20,6),只保留6位小數
轉載于:https://www.cnblogs.com/shuilangyizu/p/6232382.html
總結
以上是生活随笔為你收集整理的sql server数据库实现保留指定位数小数的函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为首款专业运动传感器S-Tag开售:首
- 下一篇: mysql中如何判断某个字段是纯数字