sql 自定义百分比转换小数函数代码

复制代码 代码如下:

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

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

--测试数据 涂聚文 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

END

ELSE

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]

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 --'无效数据'

END

RETURN @dec

END

GO

--测试数据 涂聚文 Geovin Du

SELECT [dbo].[GetPercentageNumber] ('5.23%')

SELECT [dbo].[GetPercentageNumber] ('%0.23')

时间: 2024-09-17 22:09:07

sql 自定义百分比转换小数函数代码的相关文章

sql 自定义百分比转换小数函数代码_MsSql

复制代码 代码如下: --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 (

PHP备份数据库生成SQL文件并下载的函数代码_php技巧

复制代码 代码如下: <!?php /****** 备份数据库结构 ******/ /* 函数名称:table2sql() 函数功能:把表的结构转换成为SQL 函数参数:$table: 要进行提取的表名 返 回 值:返回提取后的结果,SQL集合 函数作者:heiyeluren */ function table2sql($table) { global $db; $tabledump = "DROP TABLE IF EXISTS $table;n"; $createtable

Sql Server 2012 转换函数的比较(Cast、Convert和Parse)_MsSql

语法结构: 1. Cast 语法结构:CAST ( expression AS data_type [ ( length ) ] ) 2. Convert 语法结构:CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) 3. Parse 语法结构:PARSE ( string_value AS data_type [ USING culture ] ) 其中,Parse 为 Sql Server 的新特性 expression

Sql Server 2012 转换函数的比较(Cast、Convert和Parse)

语法结构: 1. Cast 语法结构:CAST ( expression AS data_type [ ( length ) ] ) 2. Convert 语法结构:CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) 3. Parse 语法结构:PARSE ( string_value AS data_type [ USING culture ] ) 其中,Parse 为 Sql Server 的新特性 expression

php自定义时间转换函数示例_php技巧

本文实例讲述了php自定义时间转换函数.分享给大家供大家参考,具体如下: 我们可以把经常用到的函数封装起来,在抽象类中,然后继承来使用. /** * 时间转时间戳 * @param object $str * @return timestamp */ function toTime($str, $flag = false) { $year = substr($str, 0, 4); $month = substr($str, 5, 2); $day = substr($str, 8, 2); $

SQL自定义函数的应用

函数 函数名:GetClassName(@ClassID,@ClassType)参数:@ClassID 类别的ID号,@ClassType,类别的种类 0:语言1:总分类,2:大类别,3:子类别 ,4:国家5:省份6:市县返回:@ClassName类别的名称 nvarchar(100)POWER BY ADPOSTcreate time : 2004年3月24日 14:16:16***********************************************************

PHP汉字转换拼音的函数代码_php技巧

本文实例为大家分享了PHP汉字转换拼音的函数代码,供大家参考,具体实现内容如下 <?php /************ *汉字转换拼音Class *************/ class pin{ function Pinyin($_String, $_Code='gb2312'){ $_DataKey = "a|ai|an|ang|ao|ba|bai|ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|bo|bu|ca|cai|can|

LINQ体验(15)——LINQ to SQL语句之用户定义函数

用户定义函数 我们可以在LINQ to SQL中使用用户定义函数.只要把用户 定义函数拖到O/R设计器中,LINQ to SQL自动使用FunctionAttribute属性和 ParameterAttribute属性(如果需要)将其函数指定为方法.这时,我们只需简 单调用即可. 在这里注意:使用用户定义函数的时候必须满足以下形式 之一,否则会出现InvalidOperationException异常情况. 具有正确映射 属性的方法调用的函数.这里使用FunctionAttribute属性和 P

编程-有没有人帮我转换一下这代码???

问题描述 有没有人帮我转换一下这代码??? 好像听说goto gett;相当于while语句,能不能帮我转换一下下面的代码,看得不是很懂.. 解决方案 是跳转的意思,把gett;标签下面的代码收拢成一个函数 gotoMethod(),然后在goto的地方写上 gotoMethod(): break: 即可 解决方案二: goto gett;在你的代码中相当于break不相当于while 解决方案三: 漏了这张没上传,补上...... 解决方案四: goto和while没有必然关系吧,goto语句