2015-02-10 78 views
0

我有一個datetime列createddate列 - createddatetime該值2015年2月10日23:54:02.000比較GETDATE()函數

所有我需要做的就是隻比較與GETDATE日期()功能(時間可以忽略)

應該如何編寫查詢。

僞查詢:

select * from table where createddatetime(only date) = getdate(only date) 

回答

2

使用CAST或CONVERT函數:

select * from table where cast(createddatetime as date) = cast(getdate() as date) 
0

很多方法。我最喜歡的是DATEDIFF()

SELECT * FROM Table WHERE DATEDIFF(day,createddatetime,getdate()) = 0 
+0

他想要的只是從日期時間部分選擇日期部分。 DATEDIFF()將在這裏使用什麼方式。 – knkarthick24 2015-02-10 18:51:45

+0

如果createddatetime和getdate都在同一天,不管時間如何,那麼DateDiff(day)將爲0. – 2015-02-10 18:53:31

+0

唯一的問題就是它呈現where謂詞nonSARGable。如果將其轉換爲DATE,則查詢引擎如果存在,仍然可以使用索引。 – 2015-02-10 19:39:32