如果事件被註冊爲5天(21 2009年1月至2009年1月26日),那麼如果其他人想2009年1月22日之間註冊事件到24我有一個事件管理系統,我想,如何在SQL中搜索日期?
2009年1月,那麼它將不允許註冊。我想用SQL查詢來檢查這個,所以請告訴我怎麼做到這一點。
如果事件被註冊爲5天(21 2009年1月至2009年1月26日),那麼如果其他人想2009年1月22日之間註冊事件到24我有一個事件管理系統,我想,如何在SQL中搜索日期?
2009年1月,那麼它將不允許註冊。我想用SQL查詢來檢查這個,所以請告訴我怎麼做到這一點。
SELECT *
從事件Ë
WHERE(@startDate BETWEEN e.startDate和e.endDate)
OR(@EndDate BETWEEN e.startDate和e.endDate)
OR(@startDate <如startDate AND @endDate> e.endDate)
在SQL幫助中查找DATEDIFF。
只是完成其他的答案,你有How to Search for Date and Time Values Using SQL Server 2000
它會提醒您日期/時間值是如何存儲的好文章(兩個日期/時間數據類型:datetime和smalldatetime)
它還指出Datetime和smalldatetime類似浮點數據類型,float和real,因爲它們是近似數值。這意味着從SQL Server檢索到的值可能與最初存儲的值不同。
此外,它警告數據庫設計人員不總是適當地使用日期/時間列。在設計數據庫時,應確定每個日期/時間列是否將存儲日期和時間,僅存儲日期或只存儲時間。
它關閉practical queries on data/time。
您還有一個很好的描述DATEADD and DATEDIFF here。
不知何故,我不認爲他已經進入存儲過程... – Tomalak 2008-12-11 07:53:33