两个自定义函数结合
函数一:
create function convertNumToChinese
(@instr varchar(2))
returns varchar(2)
as
begin
declare @temStr varchar(2)
if @instr = '' set @temStr = '壹'
if @instr ='' set @temStr = '贰'
if @instr ='' set @temStr = '叁'
if @instr ='' set @temStr = '肆'
if @instr ='' set @temStr = '伍'
if @instr ='' set @temStr = '陆'
if @instr ='' set @temStr = '柒'
if @instr ='' set @temStr = '捌'
if @instr ='' set @temStr = '玖'
if @instr ='' set @temStr = '零'
return @temstr
end
函数二:
create function [dbo].[fn_convertDateToChineseDX]
(@vdate datetime)
returns varchar(50)
AS
BEGIN
declare @vYear varchar(20)
declare @vMonth varchar(20)
declare @vDay varchar(20)
declare @temstr varchar(100) set @temstr = ''
set @vYear = datename(yyyy,@vdate)
--print @vyear
set @vMonth = datename(mm,@vdate)
--print @vMonth
set @vDay = datename(dd,@vdate)
--print 'v'+@vDay
-- 开始计算年份
set @temstr = dbo.convertNumToChineseDX(substring(@vYear,1,1))
set @temstr = @temstr + dbo.convertNumToChineseDX(substring(@vYear,2,1))
set @temstr = @temstr + dbo.convertNumToChineseDX(substring(@vYear,3,1))
set @temstr = @temstr + dbo.convertNumToChineseDX(substring(@vYear,4,1))
set @temstr = @temstr + '年' -- 开始计算月份
if substring(@vMonth,1,1) = ''
set @temstr = @temstr + dbo.convertNumToChineseDX(substring(@vMonth,2,1))
else
begin
if substring(@vMonth,2,1) = ''
set @temstr = @temstr + '拾'
else
set @temstr = @temstr +'壹拾'+ dbo.convertNumToChineseDX(substring(@vMonth,2,1))
end set @temstr = @temstr + '月' -- 开始计算日期 if convert(int,@vDay) < 10
set @temstr = @temstr + dbo.convertNumToChineseDX(substring(@vDay,1,1))
else
begin
if substring(@vDay,2,1) = ''
begin
if substring(@vDay,1,1)<> ''
set @temstr = @temstr + dbo.convertNumToChineseDX(substring(@vDay,1,1)) + '拾'
else
set @temstr = @temstr + '拾'
end
else
begin
if substring(@vDay,1,1) <> ''
set @temstr = @temstr + dbo.convertNumToChineseDX(substring(@vDay,1,1)) + '拾' + dbo.convertNumToChineseDX(substring(@vDay,2,1))
else
set @temstr = @temstr + '壹拾' + dbo.convertNumToChineseDX(substring(@vDay,2,1))
end
end
set @temstr = @temstr + '日'
RETURN @temstr
END
调用:
select [dbo].[fn_convertDateToChineseDX]('2017/11/08')
结果:
随机推荐
-
MyBatis缓存禁用失败
问题:MyBatis缓存无法禁用,同一个session的select查询结果一样,但是数据库其实已改变. 尝试达到想要的目的: 1.msgmapper.xml里的select标签加上 <sele ...
-
tornado--SESSION框架,一致性hash,分布式存储
预备知识 tornado框架session要自己写 cookie存储在客户端浏览器上,session数据放在服务器上 session依赖cookie 扩展tornado,返回请求前自定义session ...
-
mysql均衡负载
一.利用mysql 复制分流查询操作: 利用mysql的主从复制可以有效的分流更新操作和查询操作,具体的实现是一个主服务器,承担更新操作,多台从服务器,承担查询操作,主从之间通过复制实现数据的同步.多 ...
-
Sublime Text 添加到右键菜单 带菜单图标
1.打开 regedit 2.找到节点 HKEY_CLASSSES_ROOT -> * -> Shell 3.右键选择新建“ 项 ” 这个项的名字将作为右键菜单的菜单名称,我用的“ Sub ...
-
webapp 1px显示两倍的问题
公司最近换新首页,按照设计师的要求<大家都在逛>的分割线要1个像素. .span-3{ width:33.3333%; &:not(:first-child){ &:bef ...
-
Uva 11077 Find the Permutations [置换群 DP]
题意: 给定$n$和$k$,问有多少排列交换$k$次能变成升序 $n \le 21$ $uva$貌似挂掉了$vjudge$上一直排队 从某个排列到$1,2,...,n$和从$1,2,...,n$到某个 ...
-
js 实现 0-9 随机排序
function randomsort(a, b) {return Math.random()>0.5 ? -1 : 1;//用Math.random()函数生成0~1之间的随机数与0.5比较, ...
-
Java ServiceLoader(SPI)学习
1. 几个不错的关于ServiceLoader的文章,大家可以先参考一下 1) http://www.myexception.cn/program/1355384.html 这篇的后面的问题分析不错 ...
-
[转]Teleport Ultra/Teleport Pro的冗余代码批量清理方法
原文地址:http://www.abcd9.com/?post=402 Teleport Pro 是款优秀的网站离线浏览工具(即网站整站下载工具),Teleport Ultra是其增强版,但使用此系列 ...
-
《梦断代码Dreaming In Code》阅读笔记(一)
第0章!干得漂亮! 这是我看到这本书冒出来的第一个想法.身为计算机系的学生,对于从0开始的任何事情,都感到格外亲切. 进入阅读之后,疑惑.惊讶.感叹渐渐取代了之前轻松的心情,原来做软件竟是攀越一座又一 ...