SQL Server 2008 R2 几个自定义函数
1 --字符串转成时间 2 GO 3 CREATE FUNCTION [dbo].[JBFS_MS_VARCHAR_TO_DATETIME] (@strDate varchar(50) 4 ) 5 RETURNS datetime 6 AS 7 BEGIN 8 declare @tmpTm datetime 9 set @tmpTm =CONVERT(datetime,@strDate); 10 RETURN @tmpTm; 11 END 12 --时间转成字符串 13 GO 14 CREATE FUNCTION [dbo].[JBFS_MS_DATETIME_TO_VARCHAR] (@date datetime,@inputNum int 15 ) 16 RETURNS varchar(50) 17 AS 18 BEGIN 19 declare @strTm varchar(50) 20 set @strTm =CONVERT(varchar(50),@date,@inputNum); 21 RETURN @strTm; 22 END 23 --货币转换千分位字符串 24 25 CREATE function [dbo].[JBFS_MS_MONEY_TO_VARCHAR](@dec money, @n int) 26 returns varchar(32) as 27 begin 28 declare @str varchar(32), @len int, @left varchar(32), @right varchar(32),@end varchar(32) 29 if @n!=‘0‘ 30 begin 31 --四舍五入 32 set @str= round(@dec,@n) 33 select @left=left(@str,charindex(‘.‘,@str)-1),@len=len(@left)-2 34 while @len>1 35 begin 36 select @left=stuff(@left,@len,0,‘,‘), @len=@len-3 37 end 38 select @right=left(stuff(@str,1,charindex(‘.‘,@str),‘‘), @n),@len=4 39 while @len <=len(@right) 40 begin 41 select @right=stuff(@right,@len,0,‘,‘), @len=@len+4 42 end 43 set @end= @left+‘.‘+@right 44 end 45 else 46 begin 47 set @str= round(@dec,@n) 48 select @left=left(@str,charindex(‘.‘,@str)-1),@len=len(@left)-2 49 while @len>1 50 begin 51 select @left=stuff(@left,@len,0,‘,‘), @len=@len-3 52 end 53 select @right=left(stuff(@str,1,charindex(‘.‘,@str),‘‘), @n),@len=4 54 while @len <=len(@right) 55 begin 56 select @right=stuff(@right,@len,0,‘,‘), @len=@len+4 57 end 58 set @end= @left 59 end 60 return @end 61 End 62 --字符串转换成money 63 CREATE function [dbo].[JBFS_MS_VARCHAR_TO_MONEY](@dec varchar(50)) 64 returns money 65 AS 66 BEGIN 67 DECLARE @mon MONEY 68 SET @mon =cast(@dec as money) 69 return @mon 70 END
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。