日期转换为中文大写

IT科技类资讯2025-11-05 06:33:02213

 

ALTER FUNCTION GetCNDay (  @dt ) RETURNS Nvarchar(50) AS BEGIN  DECLARE @str Nvarchar(50) -- 中间字符串,日期用于存储***次转换之后的转换日期字符  DECLARE @Year Int,@Month Int,@Day Int -- 获取函数传入的时间参数的年月日的值  DECLARE @strYear Nvarchar(50),@strMonth Nvarchar(50),@strDay Nvarchar(50) -- 中间字符串,分别用于存储***次转换之后的亿华云计算为中文年月日字符串  declare @e Nvarchar(10),@n Nvarchar(10),@index Int,@result Nvarchar(50) -- @e,@n和@index用于字符串比对,日期将@e中@index位置出现的转换字符替换成@n中@index位置的字符,@result用于存储最终处理完成的IT技术网为中文日期字符串,并作为返回结果  SELECT @e=0123456789,日期@n=〇一二三四五六七八九,@index=1  SET @Year = Year(@dt)  SET @Month = Month(@dt)  SET @Day = Day(@dt)  -- 生成年  SET @strYear = Cast(@Year AS Nvarchar(50)) + 年  -- 生成月  IF(@Month < 10)  SET @strMonth = Cast(@Month AS Nvarchar(50))  ELSE IF(@Month = 10)  SET @strMonth = 十  ELSE IF(@Month > 10)  SET @strMonth = 十 + Cast((@Month - 10) AS Nvarchar(50))  SET @strMonth = @strMonth + 月  -- 生成日  IF(@Day < 10)  SET @strDay = Cast(@Day AS Nvarchar(50))  ELSE IF(@Day = 10)  SET @strDay = 十  ELSE IF(@Day > 10 AND @Day < 20)  SET @strDay = 十 + Cast((@Day - 10) AS Nvarchar(50))  ELSE IF(@Day = 20)  SET @strDay = 二十  ELSE IF(@Day > 20 AND @Day < 30)  SET @strDay = 二十 + Cast((@Day - 20) AS Nvarchar(50))  ELSE IF(@Day = 30)  SET @strDay = 三十  ELSE IF(@Day = 31)  SET @strDay = 三十一  SET @strDay = @strDay + 日  -- 拼接年月日  SET @str = @strYear + @strMonth + @strDay  WHILE @index<=Len(@str)  BEGIN  DECLARE @s Nvarchar(1)  SET @s=SubString(@str,@index,1)  IF CharIndex(@s,@e)>0  SET @result=IsNull(@result,)+SubString(@n,CharIndex(@s,@e),1)  ELSE  SET @result=IsNull(@result,)+@s  SET @index=@index+1  END  RETURN @result END GO 

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

转换
本文地址:http://www.bzuk.cn/html/385f34399271.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

电脑蓝屏错误时间的解决方法(提高电脑稳定性,有效应对蓝屏错误)

一次线上事故,我顿悟了MongoDB的精髓

程序开发人员的自测要求规范

MySQL 基础:如何启用 MySQL/MariaDB 查询日志

电脑星际战甲注册教程(让你在星际战甲中畅快享受战斗乐趣的详细指南)

.fit域名有什么特点?

.cc域名申请:流程、优势与注意事项

如何优雅收集和管理应用的多行日志

友情链接

滇ICP备2023006006号-33