报表中用到中文大写日期,写一函数
ALTER FUNCTION GetCNDay
(
@dt Datetime
)
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用于存储最终处理完成的日期字符串,并作为返回结果
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 &