mho*_*321 0 sql datetime sql-server-2008-r2
我意识到这是一个相对基本的问题,但是日期时间总是搞砸了我,我想确保我正确地做到这一点(这个审计将被提升为老板).使用sql server 2008 r2.下面的一些sudo代码可以满足我的需求
我应该提到transactionDate目前是一个日期时间.这会改变一切吗?
DELCARE
@today datetime,
@tomorrow datetime
SET @today = --CODE TO GET THE DATE FOR TODAY
SET @tomorrow = --CODE TO GET THE DATE FOR TOMORROW
SELECT *
FROM table
WHERE custID = '788'
AND status = 'Cancelled'
AND transactionDate --IS ONLY TODAY AND NOT TOMORROW OR ANY DAY AFTER
Run Code Online (Sandbox Code Playgroud)
如果transactionDate是DATETIME,那么:
AND CONVERT(DATE, TransactionDate) = CONVERT(DATE, CURRENT_TIMESTAMP);
Run Code Online (Sandbox Code Playgroud)
如果transactionDate是DATE,那么:
AND transactionDate = CONVERT(DATE, CURRENT_TIMESTAMP);
Run Code Online (Sandbox Code Playgroud)
这两个仍将使用索引transactionDate,但这是一个特例.通常第一种形式会破坏sargability.