sql server 将日期时间转为中文大写日期
此方法只支持sql server 2016以上的版本。给大家抛砖引玉。如有不足之处,欢迎发消息,讨论。
declare @ChineseString nvarchar(max)='{"0":"零","1":"一","2":"二","3":"三","4":"四","5":"五","6":"六","7":"七","8":"八","9":"九","10":"十"}'
,@_NowDate datetime=sysdatetime()
,@StringLen int=1
,@YearChinese nchar(4)=''
,@Year char(4);
declare @ChineseTable table(
id tinyint,
chinesestring nchar(3)
)
insert into @ChineseTable
select [key],value from openjson(@ChineseString);
set @Year=YEAR(@_NowDate);
set @StringLen=11;
set @ChineseString='';
while(@StringLen<60)
begin
set @ChineseString=@ChineseString+concat('"',@StringLen,'":"', (iif(left(@StringLen,1)=1,'',( select trim(chinesestring) from @ChineseTable where id=left(@StringLen,1)))),'十',iif(right(@StringLen,1)=0,'', (select trim(chinesestring) from @ChineseTable where id=right(@StringLen,1) )),'",');
set @StringLen+=1;
end
insert into @ChineseTable
select [key],value from openjson( '{'+substring(@ChineseString,1,len(@ChineseString)-1)+'}');
set @StringLen=1;
while(@StringLen<=len(@Year))
begin
select @YearChinese=trim(@YearChinese)+chinesestring from @ChineseTable where id=cast(SUBSTRING(@Year,@StringLen,1) as tinyint);
set @StringLen+=1;
end
select @YearChinese +'年'+trim((select chinesestring from
@ChineseTable
where id=month(@_NowDate)))+'月'+trim( (select chinesestring from
@ChineseTable
where id=day(@_NowDate)))+'日 '+
trim( (select chinesestring from
@ChineseTable
where id=datename(hh, @_NowDate)))+'点'
+
trim( (select chinesestring from
@ChineseTable
where id=datename(MINUTE, @_NowDate)))+'分'
+
trim( (select chinesestring from
@ChineseTable
where id=datename(MINUTE, @_NowDate)))+'秒'
sql server 将日期时间转为中文大写日期相关推荐
- SQL日期时间转为字符串
SQL日期时间转为字符串 SELECTCONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM SELECTCONVERT(varchar(100 ...
- sql server中datetime默认值设置和日期函数
sql server中datetime默认值设置和日期函数 select CONVERT(varchar, getdate(), 120 ) -----------------> ...
- 在SQL server中设置时间格式
在SQL server中设置时间格式 2008-01-13 12:21:02 今天在vs中更新sqlserver,却发现我vs中是当前时间,insert到数据库中却变成了1905年,搞了半天,原来是s ...
- 小写金额转为中文大写
目标 将小写的金额转化为中文大写,如99.99转为"玖拾玖圆玖角玖分" 思路 阿拉伯数字有对应的中文大写,需要将其转为中文大写. 金额分为小数部分和整数部分分别处理,整数部分和小数 ...
- 将数字0-9转为中文大写数字
//转为中文大写数字 var n = 230 var fraction = ["角", "分"]; var digit = ["零", &q ...
- python按年月日输出字符串_python日期时间转为字符串或者格式化输出的实例
python日期时间转为字符串或者格式化输出的实例 如下所示: 年月日时分秒 >>> print datetime.datetime.now().strftime("%Y- ...
- js收据、发票等表格数据格式化,js把数字转为中文大写
1.表格金额格式化 /*** 把金额转为发票.收据等表格能遍历显示的数据* * @param {money} Numner 金额大小* @param {max} Numner 带(角.分的位数)* 例 ...
- SQL Server:查找周开始和结束日期时间
目录 介绍 周默认开始日 设置周开始日 1.设置'DATEFIRST' 2.设置'DATEFIRST'并在任何逻辑操作后恢复为默认值 自定义助手函数 周函数 使用函数 参考 下载源代码 - 1.6 K ...
- SQL SERVER中Datetime时间的范围与.net的DateTime对象的区别
对于编写.net程序中我们一般写默认的时间,我们会自动创建一个new DateTime()对象.但与SQL SERVER连用我们就会出现一个时间范围的问题. 今天我就记录一下该时间问题. 我们创建的n ...
最新文章
- 如何创建 java虚拟机_Java虚拟机如何创建对象?
- 怎样打开win7和vista系统的telnet服务
- c语言点阵字符,点阵的汉字程序
- NoSQL入门第一天——NoSQL入门与基本概述
- 466. 统计重复个数 golang[转]
- poj1050最大子矩阵和
- 优秀程序员写代码一定会用的 11 条经验!
- OpenERP 中的on_change方法总结
- Java thread 怎么用_Java Thread 的使用
- matlab寻找直线_matlab寻找直线_Matlab 霍夫变换 ( Hough Transform) 直线检测
- php读取execl 实例,php读取excel的实例代码
- spa文件转换html,前端微服务化解决方案2 - Single-SPA
- Ubuntu常用软件下载以及视频流裁剪转码获取教程(可直接下载油管、B站、优酷等视频资源!)
- 【OpenCV 例程300篇】202. 查表快速替换(cv.LUT)
- PHP将淘宝客链接转换提取成普通淘宝链接
- 【DFT】可测性设计(一)扫描测试
- 应用于语义分割问题的深度学习技术综述(语义分割综述)
- python监控短信_利用Python实现手机短信监控通知的方法
- 项目使用Spring Cloud做配置管理
- 参加Kaggle比赛的流程