首頁 > 資料庫 > mysql教程 > 如何在 T-SQL 中將 HH:MM 時間值捨去為最接近的 15 分鐘間隔?

如何在 T-SQL 中將 HH:MM 時間值捨去為最接近的 15 分鐘間隔?

Mary-Kate Olsen
發布: 2025-01-10 14:12:42
原創
756 人瀏覽過

How to Round HH:MM Time Values to the Nearest 15-Minute Interval in T-SQL?

T-SQL 中將 HH:MM 時間值捨入到最接近的 15 分鐘間隔

在資料分析中,將時間值舍入到最接近的指定間隔是一個常見任務。在本例中,我們的目標是將 HH:MM 值舍入到最接近的 15 分鐘間隔。

無需使用者自訂函數的方法

雖然使用使用者自訂函數 (UDF) 或 CASE 語句是一種可行的方法,但還有一些更優雅的方法可以避免使用它們。其中一個方法是利用 DATEADD 和 DATEDIFF 函數:

<code class="language-sql">select dateadd(minute, datediff(minute,0,GETDATE()) / 15 * 15, 0)</code>
登入後複製

此處,GETDATE() 表示目前日期時間值。 DATEDIFF 函數計算目前時間與固定參考日期 0 之間的分鐘差。然後,我們將此差除以 15 並乘以 15,以獲得最接近的 15 分鐘間隔。最後,DATEADD 函數將此間隔加到參考日期,從而得到舍入後的時間值。

注意事項

此方法適用於僅與分鐘相關且可以忽略秒的情況。由於潛在的溢出問題,它可以處理直到 5500 年的日期。但是,使用特定日期(例如,“2009-01-01”)或今天的日期作為參考點可以解決此限制。

範例

例如,使用上述方法將類似於「00:08:00」的時間戳記舍入到最接近的 15 分鐘間隔將得到「00:15:00」。類似地,「00:07:00」將捨去為「00:00:00」。

以上是如何在 T-SQL 中將 HH:MM 時間值捨去為最接近的 15 分鐘間隔?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板