作者bluexmilk ( )
看板Database
标题[SQL ]关於SQL的预存程序请教
时间Mon Jul 27 20:26:48 2015
资料库名称:SQL serever
资料库版本:2012
内容/问题描述:
学校作业要我们分别用自定函数跟预存
写出显示日期的相关程式
create function datefunction ( @d date ,@yes int)
returns varchar (100)
AS
BEGIN
DECLARE @str varchar(100)
if @yes = 1
select @str=
'民国'
+cast((datepart(yyyy,@d)-1911) as varchar)
+'年'
+replicate('0',2-len(cast(datepart(mm,@d) as varchar)))
+cast(datepart(mm,@d) as varchar)
+'月'
+replicate('0',2-len(cast(datepart(dd,@d)as varchar)))
+cast(datepart(dd,@d) as varchar)
+'日'
+'星期'
+substring ('日一二三四五六',datepart(dw,@d),1)
else
select @str=
'民国'
+cast((datepart(yyyy,@d)-1911) as varchar)
+'年'
+replicate('0',2-len(cast(datepart(mm,@d) as varchar)))
+cast(datepart(mm,@d) as varchar)
+'月'
+replicate('0',2-len(cast(datepart(dd,@d)as varchar)))
+cast(datepart(dd,@d) as varchar)
+'日'
RETURN @str
END;
以上是自定函数的写法
执行後没有问题
但写程预存程序就卡住了...
有无高手可以指导一下
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.38.202.89
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1438000011.A.960.html
※ 编辑: bluexmilk (114.38.202.89), 07/27/2015 20:29:01
1F:→ lbeeon: sp直接call? 07/27 22:10
2F:→ lbeeon: 不过你丢一个没问题的东西上来 是要.. 07/27 22:11
3F:→ bluexmilk: 不好意思 我是想要请问说 如果按照上述的题型 要做成 07/27 22:36
4F:→ bluexmilk: 预存程式 该如何下手 07/27 22:37
5F:→ lbeeon: datefunction(@d,@yes)变成 exec sp_datefunction @d,@yes 07/27 23:32
6F:→ lbeeon: 剩下的就差不多 07/27 23:32