您好:
請問 如下圖,
我要寫一個FUNCTION 沿用datepart 傳入, 那這一個 datepart 要設什麼型別?
比如我要
@datepart_str 這一個 可以值接用SQL 的 型別嗎?
或者,我傳入 VARCHAR(4),要如何轉為 Year,Day 等
CREATE function fn_datetime_diff (
@datepart_str varchar(4) ,
@date_s varchar(8), @time_s varchar(6),
@date_e varchar(8), @time_e varchar(6)
)Returns int As
BEGIN
--select @date_s='1120801', @date_e='1120801', @time_s='095901', @time_e='100201'
DECLARE @i as int;
SELECT @i=
DATEDIFF(
CASE WHEN @datepart_str='yy' then yy
END
, CONVERT(DATETIME, STUFF(STUFF(STUFF(
CONVERT(VARCHAR(8), case WHEN len(@date_s)<=7 THEN @date_s+19110000 ELSE @date_s end ) +@time_s
, 9, 0, ' '), 12, 0, ':'), 15, 0, ':'))
, CONVERT(DATETIME, STUFF(STUFF(STUFF(
CONVERT(VARCHAR(8), case WHEN len(@date_e)<=7 THEN @date_e+19110000 ELSE @date_e end ) +@time_e
, 9, 0, ' '), 12, 0, ':'), 15, 0, ':'))
)
RETURN @i
END;
GO
謝謝!