您好我试图在SQL Server 2008中创建用户定义的函数,将日期从一种格式转换为另一种格式。
我使用的日期缺少一个世纪,即1610101是1961年1月1日,213/02/15实际上是2013/02/15。
我已经搜索了一些好的网站以寻求解决方案,但我看不出它有什么问题。
create function Convert_Date(@Cdate Date)
returns Date
as
Begin
declare @return date
select @return = case @Cdate
when (LEFT(@Cdate,1) = 1) then convert(date,('19'+ CONVERT(VARCHAR(30), right(@Cdate,6))))
when (LEFT(@Cdate,1) = 2) then convert(date,('20'+ CONVERT(VARCHAR(30), right(@Cdate,6))))
return @return
end
答案 0 :(得分:0)
你想要这样的东西:
CREATE FUNCTION Convert_Date(@Cdate DATE)
RETURNS DATE
AS
BEGIN
DECLARE @return DATE
SELECT @return =
(
CASE LEFT(@Cdate,1)
WHEN '1' THEN CONVERT(DATE, ('19'+ CONVERT(VARCHAR(30), RIGHT(@Cdate,6))))
WHEN '2' THEN CONVERT(DATE, ('20'+ CONVERT(VARCHAR(30), RIGHT(@Cdate,6))))
END
)
RETURN @return
END
当结果与案例匹配时,您的when语句应该是的时间。