首頁 > 資料庫 > mysql教程 > 從 DateTime 值中提取日期的最有效的 SQL Server 方法是什麼?

從 DateTime 值中提取日期的最有效的 SQL Server 方法是什麼?

Barbara Streisand
發布: 2025-01-13 08:29:43
原創
243 人瀏覽過

What's the Most Efficient SQL Server Method to Extract the Date from a DateTime Value?

SQL Server中從日期時間值高效提取日期的最佳方法

在MS SQL 2000或2005中,對於像'2008-09-25 12:34:56'這樣的日期時間值,取得僅包含'2008-09-25'的日期時間值的最有效方法一直是一個爭論的話題。雖然提出了各種方法,但全面的分析揭示了以下結果:

測試環境與方法:

效能比較在一個測試伺服器(MS SQL Server 2005)上進行,該伺服器包含一個大型表,其中包含具有毫秒精度的 timestamps。表格跨越超過2.5年,包含1.3億筆記錄,並選擇了前一百萬筆記錄進行分析。

評估的查詢:

  • 純SELECT語句
  • floor-float轉換 (CAST(FLOOR(CAST(CRETS AS FLOAT)) AS DATETIME))
  • 字串轉換 (CONVERT(DATETIME, CONVERT(VARCHAR(10), CRETS, 120) , 120))
  • DATEADD轉換 (DATEADD(DAY, DATEDIFF(DAY, 0, CRETS), 0))

結果:

CPU時間(ms):

  • 純SELECT語句: 422
  • floor-float轉換: 625
  • 字串轉換: 1953
  • DATEADD轉換: 531

結論:

與先前認為floor-float方法最快的說法相反,結果表明,DATEADD轉換在此特定場景中成為最有效的方法。

注意: 重要的是要注意,這些結果可能會因特定的伺服器配置和資料集特性而異。

以上是從 DateTime 值中提取日期的最有效的 SQL Server 方法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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