按当前日期sql

时间:2018-04-11 01:01:06

标签: sql

不确定之前是否已经问过这个问题。

我正在尝试按当前日期过滤掉2列(datPromisedDelivery,datCommisioned)。

应显示数据,其中包含昨天和明天的日期(-1,+ 1)

我写的这是一个很长的查询。

SELECT
    nJobNumber,
    strClientName,
    strClientReference,
    strJobCategory,
    datCommisioned,
    datPromisedDelivery 
FROM vwJobBookForXML  
where bCompleted=0 and  
    nJobNumber is not null and  
    strClientReference is not null and  
    datPromisedDelivery BETWEEN DATEADD(DAY, -1, GETDATE()) and  DATEADD(DAY, +1, GETDATE()) and  
    datCommisioned BETWEEN DATEADD(DAY, -1, GETDATE()) and  DATEADD(DAY, +1, GETDATE())  
ORDER BY nJobNumber;

由于程序输出一个空的CSV文件,该查询可能包含一些语法错误。

有人可以猜出查询有什么问题吗?

1 个答案:

答案 0 :(得分:0)

DATEADD是一个SQL服务器功能。

如果它是MYSQL:

,请使用DATE_ADD
fieldName BETWEEN DATE_ADD(CURDATE(), INTERVAL -1 DAY) AND DATE_ADD(CURDATE(), INTERVAL 1 DAY);

如果SQL错误的唯一指示符是空文件,则应检查错误处理/日志记录。