sql 自定義百分比轉換小數函式

2021-09-07 23:17:15 字數 2595 閱讀 8167

--cast 和 convert 函式 percentage

declare @dec decimal(5,3), @var varchar(10),@hun decimal(5,1)

set @dec=0.025

set @hun=@dec*100

set @var=cast(@hun as varchar(20))+'%'

select @var

---小數轉化為百分數函式 getpercentagestring

---塗聚文 geovin du

if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[getpercentagestring]') and xtype in (n'fn', n'if', n'tf'))

drop function [dbo].[getpercentagestring]

gocreate function getpercentagestring

( @dec decimal(10,3)

)returns varchar(20)

asbegin

declare @var varchar(10),@hun decimal(10,1)

set @hun=@dec*100

set @var=cast(@hun as varchar(20))+'%'

return @var

endgo

--測試資料 塗聚文 geovin du

select [dbo].[getpercentagestring] (0.05)

select [dbo].[getpercentagestring] (0.25)

select [dbo].[getpercentagestring] (1.25)

--1. 查詢字串中是否包含非數字字元

select patindex('%[^0-9]%', '1235x461')

select patindex('%[^0-9]%', '12350461')

--2. 查詢字串中是否包含數字字元

select patindex('%[0-9]%', 'suyllgoo')

select patindex('%[0-9]%', 'suyllg0o')

declare @dec decimal(10,4), @var varchar(10),@hun decimal(10,4),@i int,@k int,@s varchar(20)

set @var='5.23%'

--select @k=len(@var)

--select @s=left(@var,@k-1)

select @s=right(@var,1)

--select @s

select @i=charindex('%',@s)

if @i>0

begin

set @var=replace(@var,'%','')

set @hun=cast(@var as decimal(10,4))

set @dec=@hun/100

select @dec

endelse

begin

select @dec=null --'無效資料'

end--百分數轉化為小數函式 getpercentagenumber

---塗聚文 geovin du

if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[getpercentagenumber]') and xtype in (n'fn', n'if', n'tf'))

drop function [dbo].[getpercentagenumber]

gocreate function getpercentagenumber

( @var varchar(10)

)returns decimal(10,4)

asbegin

declare @dec decimal(10,4), @hun decimal(10,4),@i int,@k int,@s varchar(20)

select @s=right(@var,1)

--select @s

select @i=charindex('%',@s)

if @i>0

begin

set @var=replace(@var,'%','')

set @hun=cast(@var as decimal(10,4))

set @dec=@hun/100

--select @dec

endelse

begin

select @dec=null --'無效資料'

endreturn @dec

endgo

--測試資料 塗聚文 geovin du

select [dbo].[getpercentagenumber] ('5.23%')

select [dbo].[getpercentagenumber] ('%0.23')

自定義view 畫百分比

對於自定義view,我是一知半解,正在學習中,將自己實驗過的自定義view記錄下來,防止自己多次走同樣的坑 效果獻上乙個效果圖 自定義view的實現 import android.content.context import android.graphics.canvas import androi...

百分比轉小數

近日需要用到百分比轉小數功能,而且百分比是字串格式 可以帶或不帶百分號 如果是小數轉百分比那就簡單了,c 裡數字格式字串有個 p 但是百分比轉小數還真不知道有沒有?簡單看了一下msdn,沒有發現 眼花?因此,直接搞了乙個方法來實現 將百分比轉換成小數 百分比值,可純為數值,或都加上 號的表示,如 6...

SQL 總合百分比

算出累積總計是乙個常見的需求,可惜以 sql 並沒有乙個很直接的方式達到這個需求。要以 sql 算出累積總計,基本上的概念與列出排名類似 第一是先做個 自我鏈結 self join 然後將結果依序列出。在做列出排名時,我們算出每一行之前 包含那一行本身 有多少行數 而在做累積總計時,我們則是算出每一...