1
我有一個關於時間的要求存儲爲字符串,如下面:SQL查詢來獲取字符串值作爲時間差
ID - FromTime - ToTime - Day - RoomNo
1 - 10:00 AM - 11:00 AM - Sun - 202
2 - 11:00 AM - 12:00 AM - Sun - 203
那麼什麼,我試圖做的是在表檢查,房間已在特定時間內分配,例如,如果從上午10:00到上午11:00在Sun分配了一個房間,那麼在該特定日期之前沒有其他時間表在該時間存在或可用。它不能像上午10點20分到上午11點重疊,從上午10點開始,已經有一個時間表。同樣,我必須確保在特定日期(太陽)的其他時間安排,例如上午11:00至中午12:00也可用。這只是需要做驗證。
就是這樣。我試圖用SQL查詢來做到這一點,並希望它會很簡單。所以試圖查詢是真的不夠好(僅用於演示目的):
SELECT *
FROM AllocateRoom
WHERE
CONVERT(Time, FromTime) >= CONVERT(Time, '10:00 AM')
AND CONVERT(Time, ToTime) <= CONVERT(Time, '11:00 AM')
它實際上是可以使用SQL查詢來做到這一點?
MS SQL Server 2008中(和更新版本)允許這種轉換。 –
你試過的查詢有什麼問題? –
當您的範圍跨越午夜時,您將遇到問題。你將不得不在你的邏輯中使用星期幾。然後,當然,你還有周六到週日來考慮這一週何時開始。您要存儲多少天的數據? – shawnt00