葉子函式分享三十三 根據進舍位或四捨五入來求值

2021-08-25 18:25:04 字數 1449 閱讀 9700

-- /*

***************************************

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 ...