我想在sql中选择日后的日期。就像我想要查询两天后选择日期一样。如果我从日历中选择今天的日期(29-04-2015),那么它应该在其他文本框上显示日期为(01-05-2015)。我想要一个后天检索的查询。到目前为止,我在查询中所做的工作如下:
SELECT VALUE_DATE FROM DLG_DEAL WHERE VALUE_DATE = GETDATE()+2
提前致谢
答案 0 :(得分:4)
请注意,如果您有包含时间信息的日期字段,则需要使用DATEADD
截断日期部分dateadd(d, 0, datediff(d, 0, VALUE_DATE))
要比较忽略日期部分的2个日期,您可以使用DATEDIFF
SELECT VALUE_DATE FROM DLG_DEAL
WHERE datediff(d, VALUE_DATE, getdate()) = -2
或
SELECT VALUE_DATE FROM DLG_DEAL
WHERE datediff(d, getdate(), VALUE_DATE) = 2
答案 1 :(得分:3)
试试这样:
SELECT VALUE_DATE
FROM DLG_DEAL WHERE VALUE_DATE = convert(varchar(11),(Getdate()+2),105)
<强> SQL FIDDLE DEMO 强>
答案 2 :(得分:1)
SELECT VALUE_DATE FROM DLG_DEAL WHERE datediff(d, VALUE_DATE, getdate()) = -2
答案 3 :(得分:1)
**我认为你应该试试这个**
SELECT DATEADD(day,2,VALUE_DATE) AS DayAfterTomorrow
FROM DLG_DEAL WHERE VALUE_DATE= GETDATE();
DATEADD(choiceToAdd,interval,date)
此功能允许您从日期添加或减去日,月,年等。在此区间中只有您想要添加或减去的数值。