国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

sql 自定義百分比轉(zhuǎn)換小數(shù)函數(shù)代碼

2024-08-31 00:58:03
字體:
供稿:網(wǎng)友

復制代碼 代碼如下:


--CAST 和 CONVERT 函數(shù) 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

---小數(shù)轉(zhuǎn)化為百分數(shù)函數(shù) 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]
GO
CREATE function GetPercentageString
(
@dec decimal(10,3)
)
returns varchar(20)
AS
BEGIN
DECLARE @var varchar(10),@hun decimal(10,1)
SET @hun=@dec*100
SET @var=cast(@hun as varchar(20))+'%'
RETURN @var
END
GO
--測試數(shù)據(jù) 涂聚文 Geovin Du
SELECT [dbo].[GetPercentageString] (0.05)
SELECT [dbo].[GetPercentageString] (0.25)
SELECT [dbo].[GetPercentageString] (1.25)

--1. 查詢字符串中是否包含非數(shù)字字符
SELECT PATINDEX('%[^0-9]%', '1235X461')
SELECT PATINDEX('%[^0-9]%', '12350461')
--2. 查詢字符串中是否包含數(shù)字字符
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
END
ELSE
BEGIN
SELECT @dec=NULL --'無效數(shù)據(jù)'
END


--百分數(shù)轉(zhuǎn)化為小數(shù)函數(shù) 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]
GO
CREATE function GetPercentageNumber
(
@var varchar(10)
)
returns decimal(10,4)
AS
BEGIN
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
END
ELSE
BEGIN
SELECT @dec=NULL --'無效數(shù)據(jù)'
END
RETURN @dec
END
GO
--測試數(shù)據(jù) 涂聚文 Geovin Du
SELECT [dbo].[GetPercentageNumber] ('5.23%')
SELECT [dbo].[GetPercentageNumber] ('%0.23')

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宣威市| 江陵县| 岳普湖县| 青浦区| 怀集县| 南召县| 上饶市| 日土县| 邹城市| 库车县| 万年县| 凤阳县| 张家港市| 岳西县| 临朐县| 满洲里市| 明水县| 阿巴嘎旗| 甘泉县| 新建县| 天气| 崇明县| 铜山县| 桃江县| 怀来县| 余干县| 卢氏县| 河池市| 北海市| 蓬安县| 罗江县| 乡城县| 通许县| 霞浦县| 申扎县| 乌拉特中旗| 曲松县| 隆安县| 嘉禾县| 富锦市| 鹿泉市|