日期转换为中文大写

 
 
  1. ALTER FUNCTION GetCNDay 
  2.  @dt 
  3. RETURNS Nvarchar(50) 
  4. AS 
  5. BEGIN 
  6.  DECLARE @str Nvarchar(50) -- 中间字符串,用于存储***次转换之后的日期字符 
  7.  DECLARE @Year Int,@Month Int,@Day Int -- 获取函数传入的时间参数的年月日的值 
  8.  DECLARE @strYear Nvarchar(50),@strMonth Nvarchar(50),@strDay Nvarchar(50) -- 中间字符串,分别用于存储***次转换之后的年月日字符串 
  9.  declare @e Nvarchar(10),@n Nvarchar(10),@index Int,@result Nvarchar(50) -- @e,@n和@index用于字符串比对,将@e中@index位置出现的字符替换成@n中@index位置的字符,@result用于存储最终处理完成的日期字符串,并作为返回结果 
  10.  SELECT @e='0123456789',@n='〇一二三四五六七八九',@index=1 
  11.  SET @Year = Year(@dt) 
  12.  SET @Month = Month(@dt) 
  13.  SET @Day = Day(@dt) 
  14.  -- 生成年 
  15.  SET @strYear = Cast(@Year AS Nvarchar(50)) + '年' 
  16.  -- 生成月 
  17.  IF(@Month < 10) 
  18.  SET @strMonth = Cast(@Month AS Nvarchar(50)) 
  19.  ELSE IF(@Month = 10) 
  20.  SET @strMonth = '十' 
  21.  ELSE IF(@Month > 10) 
  22.  SET @strMonth = '十' + Cast((@Month - 10) AS Nvarchar(50)) 
  23.  SET @strMonth = @strMonth + '月' 
  24.  -- 生成日 
  25.  IF(@Day < 10) 
  26.  SET @strDay = Cast(@Day AS Nvarchar(50)) 
  27.  ELSE IF(@Day = 10) 
  28.  SET @strDay = '十' 
  29.  ELSE IF(@Day > 10 AND @Day < 20) 
  30.  SET @strDay = '十' + Cast((@Day - 10) AS Nvarchar(50)) 
  31.  ELSE IF(@Day = 20) 
  32.  SET @strDay = '二十' 
  33.  ELSE IF(@Day > 20 AND @Day < 30) 
  34.  SET @strDay = '二十' + Cast((@Day - 20) AS Nvarchar(50)) 
  35.  ELSE IF(@Day = 30) 
  36.  SET @strDay = '三十' 
  37.  ELSE IF(@Day = 31) 
  38.  SET @strDay = '三十一' 
  39.  SET @strDay = @strDay + '日' 
  40.  -- 拼接年月日 
  41.  SET @str = @strYear + @strMonth + @strDay 
  42.  WHILE @index<=Len(@str) 
  43.  BEGIN 
  44.  DECLARE @s Nvarchar(1) 
  45.  SET @s=SubString(@str,@index,1) 
  46.  IF CharIndex(@s,@e)>0 
  47.  SET @result=IsNull(@result,'')+SubString(@n,CharIndex(@s,@e),1) 
  48.  ELSE 
  49.  SET @result=IsNull(@result,'')+@s 
  50.  SET @index=@index+1 
  51.  END 
  52.  RETURN @result 
  53. END 
  54. GO 

【本文是专栏作者张勇波的原创文章,转载请通过获取作者授权】

我们提供的服务有:网站制作、成都网站设计、微信公众号开发、网站优化、网站认证、五华ssl等。为上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的五华网站制作公司

分享名称:日期转换为中文大写
本文地址:http://www.shufengxianlan.com/qtweb/news25/47975.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联