首页 > 数据库 > mysql教程 > 从 DateTime 值中提取日期的最有效的 SQL Server 方法是什么?

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

Barbara Streisand
发布: 2025-01-13 08:29:43
原创
242 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板