-- /*
***************************************
program id: fun_getvaluebyroundmode
purpose : 根據進舍位或四捨五入來求值
author : jesse
date : 2011.02.14
*************************************** */
go--建立函式
create
function dbo.fun_getvaluebyroundmode (
@value decimal
(18,6),
--需進行運算的值
@bit int,--
小數字數
@roundmode char
(1))
--求值方式:-四捨五入、-捨去、-進製
returns
decimal
(18,6)as
begin
declare @result decimal
(18,6)
set @value=
isnull
(@value,0)
if @roundmode=
'1'--捨去
select @result=
round
(@value,@bit,1)
else
if @roundmode=
'2'--進製
begin
if @value>
round
(@value,@bit,1)
--確保在有尾數的情況下才進製
select @result=
round
(@value,@bit,1)+1.0/
power
(10,@bit)
else
select @result=
round
(@value,@bit,1)
endelse
select @result=
round
(@value,@bit)
return
isnull
(@result,0)
end
--測試示例
select
dbo.fun_getvaluebyroundmode(9.82458,3,
'0')
select
dbo.fun_getvaluebyroundmode(9.82458,3,
'1')
select
dbo.fun_getvaluebyroundmode(9.82458,3,
'2')
--執行結果 /*
9.825000
9.824000
9.825000
*/
葉子函式分享二十二 根據日期返回星座
go 建立函式 csdn fredrickhu 小f 提供 create function udf getstar datetime returns varchar 100 返回日期所屬星座 begin return select max star from select 魔羯座 as star,1...
葉子函式分享二十七 根據日期得到星期的函式
最直接的方式就是用case when判斷,這裡用表變數來處理的 go 建立函式 create function dbo m getweek date nvarchar 2000 returns varchar 2000 asbegin declare weekday nvarchar 300 dec...
葉子函式分享二十七 根據日期得到星期的函式
最直接的方式就是用 case when 判斷,這裡用表變數來處理的 go 建立函式 create function dbo m getweek date nvarchar 2000 returns varchar 2000 as begin declare weekday nvarchar 300 ...