博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql 自定義百分比轉換小數函數
阅读量:6542 次
发布时间:2019-06-24

本文共 2058 字,大约阅读时间需要 6 分钟。

--CAST 和 CONVERT 函数 PercentageDECLARE @dec decimal(5,3), @var varchar(10),@hun decimal(5,1)set @dec=0.025set @hun=@dec*100set @var=cast(@hun as varchar(20))+'%'select @var---小數轉化為百分數函數 GetPercentageString---塗聚文 Geovin Duif 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 @varENDGO--測試數據 塗聚文 Geovin DuSELECT [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 @SSELECT @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 Duif 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 @decENDGO--測試數據 塗聚文 Geovin DuSELECT [dbo].[GetPercentageNumber] ('5.23%')SELECT [dbo].[GetPercentageNumber] ('%0.23')

转载地址:http://ctodo.baihongyu.com/

你可能感兴趣的文章
移动web开发中遇到的一些问题收纳
查看>>
给你的jQuery项目赋予Router技能吧
查看>>
「PKUSC2018」最大前缀和(状压dp)
查看>>
Swift笔记3
查看>>
ocp 042 第十三章:性能管理
查看>>
css绝对定位
查看>>
十大前端开发框架(转)
查看>>
红黑树的实现
查看>>
DP专题·三(01背包+完全背包)
查看>>
iOS开发之通知机制
查看>>
在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统(源代码下载和PDF文档下载)(转载)...
查看>>
我的Android进阶之旅------>Android服务的生命周期回调方法
查看>>
风格纠错题
查看>>
IPC-M10R800-A3399C 六核工业级行业平板
查看>>
Gruntfile.js
查看>>
MySQL中批量插入数据
查看>>
05- 移动端APP的分类 与对比webApp hybridApp nativeApp
查看>>
排序算法总结
查看>>
一、servlet之初见
查看>>
Postman使用手册2——管理收藏
查看>>