作者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://www.ptt.cc/bbs/Database/M.1438000011.A.960.html
※ 編輯: bluexmilk (114.38.202.89), 07/27/2015 20:29:01
→ lbeeon: sp直接call? 07/27 22:10
→ lbeeon: 不過你丟一個沒問題的東西上來 是要.. 07/27 22:11
→ bluexmilk: 不好意思 我是想要請問說 如果按照上述的題型 要做成 07/27 22:36
→ bluexmilk: 預存程式 該如何下手 07/27 22:37
→ lbeeon: datefunction(@d,@yes)變成 exec sp_datefunction @d,@yes 07/27 23:32
→ lbeeon: 剩下的就差不多 07/27 23:32