0
我有一個datetime列createddate列 - createddatetime該值2015年2月10日23:54:02.000比較GETDATE()函數
所有我需要做的就是隻比較與GETDATE日期()功能(時間可以忽略)
應該如何編寫查詢。
僞查詢:
select * from table where createddatetime(only date) = getdate(only date)
我有一個datetime列createddate列 - createddatetime該值2015年2月10日23:54:02.000比較GETDATE()函數
所有我需要做的就是隻比較與GETDATE日期()功能(時間可以忽略)
應該如何編寫查詢。
僞查詢:
select * from table where createddatetime(only date) = getdate(only date)
使用CAST或CONVERT函數:
select * from table where cast(createddatetime as date) = cast(getdate() as date)
很多方法。我最喜歡的是DATEDIFF()
SELECT * FROM Table WHERE DATEDIFF(day,createddatetime,getdate()) = 0
他想要的只是從日期時間部分選擇日期部分。 DATEDIFF()將在這裏使用什麼方式。 – knkarthick24 2015-02-10 18:51:45
如果createddatetime和getdate都在同一天,不管時間如何,那麼DateDiff(day)將爲0. – 2015-02-10 18:53:31
唯一的問題就是它呈現where謂詞nonSARGable。如果將其轉換爲DATE,則查詢引擎如果存在,仍然可以使用索引。 – 2015-02-10 19:39:32