大佬教程收集整理的这篇文章主要介绍了sql – 将数字转换为单词 – 第一,第二,第三等,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
谢谢
create functION fnIntegerToWords(@number as BIGint) RETURNS VARCHAR(1024) AS BEGIN DECLARE @Below20 TABLE (ID int identity(0,1),Word varchar(32)) DECLARE @Below100 TABLE (ID int identity(2,Word varchar(32)) INSERT @Below20 (Word) VALUES ( 'Zero'),('One'),( 'Two' ),( 'Three'),( 'Four' ),( 'Five' ),( 'Six' ),( 'Seven' ),( 'Eight'),( 'Nine'),( 'Ten'),( 'Eleven' ),( 'Twelve' ),( 'Thirteen' ),( 'Fourteen'),( 'Fifteen' ),('Sixteen' ),( 'Seventeen'),('Eighteen' ),( 'Nineteen' ) INSERT @Below100 VALUES ('Twenty'),('Thirty'),('Forty'),('Fifty'),('Sixty'),('Seventy'),('Eighty'),('Ninety') declare @belowHundred as varchar(126) if @number > 99 begin SELEct @belowHundred = dbo.fnIntegerToWords( @number % 100) end DECLARE @English varchar(1024) = ( SELECT Case WHEN @number = 0 THEN '' WHEN @number betweeN 1 AND 19 THEN (SELECT Word FROM @Below20 WHERE ID=@number) WHEN @number betweeN 20 AND 99 THEN (SELECT Word FROM @Below100 WHERE ID=@number/10)+ '-' + dbo.fnIntegerToWords( @number % 10) WHEN @number betweeN 100 AND 999 THEN (dbo.fnIntegerToWords( @number / 100)) +' Hundred '+ Case WHEN @belowHundred <> '' THEN 'and ' + @belowHundred else @belowHundred end WHEN @number betweeN 1000 AND 999999 THEN (dbo.fnIntegerToWords( @number / 1000))+' Thousand '+ dbo.fnIntegerToWords( @number % 1000) WHEN @number betweeN 1000000 AND 999999999 THEN (dbo.fnIntegerToWords( @number / 1000000))+' Million '+ dbo.fnIntegerToWords( @number % 1000000) WHEN @number betweeN 1000000000 AND 999999999999 THEN (dbo.fnIntegerToWords( @number / 1000000000))+' Billion '+ dbo.fnIntegerToWords( @number % 1000000000) ELSE ' INVALID INPUT' END ) SELECT @English = RTRIM(@English) SELECT @English = RTRIM(LEFT(@English,len(@English)-1)) WHERE RIGHT(@English,1)='-' RETURN (@English) END
以上是大佬教程为你收集整理的sql – 将数字转换为单词 – 第一,第二,第三等全部内容,希望文章能够帮你解决sql – 将数字转换为单词 – 第一,第二,第三等所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。