如何在SQL Server 2008中转换日期格式

时间:2014-12-29 04:51:54

标签: sql-server sql-server-2008

我如何convert SQL Server 2008中的日期格式?

SELECT 
   Dateadd(DAY, (SELECT MaxCheckday
                 FROM tbl_LibryMemberCategory
                 WHERE IsDeleted = 'N'), Getdate()) 

运行上述查询时出现此错误

  

Msg 242,Level 16,State 3,Line 1
  将varchar数据类型转换为日期时间数据类型会导致超出范围的值。

2 个答案:

答案 0 :(得分:0)

MaxCheckDay应该只有7,而不是“7天”。

 SELECT Dateadd(dd,(SELECT MaxCheckday
             FROM   tbl_LibryMemberCategory
             WHERE  IsDeleted = 'N'), Getdate()) 

答案 1 :(得分:0)

如果没有错,这就是你想要实现的目标

SELECT CONVERT(VARCHAR(20), Dateadd(Day, MaxCheckday, Getdate()), 103)
FROM   tbl_LibryMemberCategory
WHERE  IsDeleted = 'N' 

您的查询中的问题是在转换后执行Dateadd。尝试运行以下内容,您将收到相同的错误

SELECT Dateadd(day,1, convert(varchar,Getdate(),103))