比較 SQL Server 中的時間
比較 SQL Server 中的時間值時,僅考慮時間部分並忽略日期至關重要。為了實現這一點,與日期時間欄位之間的標準比較相比,需要稍微不同的方法。
為了有效地比較時間值,可以利用 SQL Server 將日期儲存為浮點數這一事實。小數點之前的數字代表日期,小數點之後的數字代表時間。
範例:
declare @first datetime = '2009-04-30 19:47:16.123' declare @second datetime = '2009-04-10 19:47:16.123' select (cast(@first as float) - floor(cast(@first as float))) - (cast(@second as float) - floor(cast(@second as float))) as Difference
在此範例中,@ 的日期部分透過使用floor()減去每個浮點表示的整數部分來丟棄第一和@第二。結果是代表時間差的小數值,可以用來比較。
解釋:
此方法效率更高比將日期時間值轉換為字串進行比較,因為它避免了不必要的資料轉換。
以上是如何在 SQL Server 中高效率地僅比較時間值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!