在Microsoft SQL Server中比较日期的最佳方法是什么?
发布时间:2020-12-13 20:49:57 所属栏目:Windows 来源:网络整理
导读:我在一个非常大的表中有一个SQL datetime字段。它被索引,需要查询。 问题是SQL总是存储时间组件(即使它总是午夜),但搜索是一天,而不是时间。 declare @dateVar datetime = '2013-03-11;select t.[DateColumn]from MyTable twhere t.[DateColumn] = dateVa
我在一个非常大的表中有一个SQL datetime字段。它被索引,需要查询。
问题是SQL总是存储时间组件(即使它总是午夜),但搜索是一天,而不是时间。 declare @dateVar datetime = '2013-03-11; select t.[DateColumn] from MyTable t where t.[DateColumn] = dateVar; 不会返回任何东西,因为t。[DateColumn]总是包含时间分量。 我的问题是这是最好的方法? 似乎有两个主要的选择: >使用dateadd创建第二个变量,并在…之间使用,或者> = …和…< =。 这两个都看起来很混乱 – 我真的不想做一个范围比较或扫描表。 有没有更好的办法? 如果这些选项之一是一贯的最佳方式,那么如何和为什么?
在任何情况下,转换为DATE或使用开放式日期范围将产生最佳性能。 FYI,转换日期使用指数是表现最好的。更多测试不同的技术在文章:
What is the most efficient way to trim time from datetime?发表于Aaron Bertrand
从那篇文章: DECLARE @dateVar datetime = '19700204'; -- Quickest when there is an index on t.[DateColumn],-- because CONVERT can still use the index. SELECT t.[DateColumn] FROM MyTable t WHERE = CONVERT(DATE,t.[DateColumn]) = CONVERT(DATE,@dateVar); -- Quicker when there is no index on t.[DateColumn] DECLARE @dateEnd datetime = DATEADD(DAY,1,@dateVar); SELECT t.[DateColumn] FROM MyTable t WHERE t.[DateColumn] >= @dateVar AND t.[DateColumn] < @dateEnd; 也是从那篇文章:使用BETWEEN,DATEDIFF或CONVERT(CHAR(8)…都慢了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- botframework – Microsoft.Bot.Builder – 偶发错误 – “
- Windows安装程序 – 最简单的解决方案来替代MSI中的一个小文
- windows – 是否可以防止在LOB UWP桌面应用程序/后台任务中
- winapi – 在Windows 7上禁用Ctrl Alt Del
- windows – 如何从不同的线程执行SendMessage?
- windows – Wincachegrind给出错误
- Windows Phone 7开发指南
- 难道真的不可能写一个隐藏Windows密码的php cli密码提示吗?
- JsonRequestBehavior不存在问题,JsonRequestBehavior属于哪
- 使用typescript重新定义window.console
推荐文章
站长推荐
- 域控制器 – Windows Server 2012R2作为附加域控
- winapi – 如何在Vista的Common Item Dialog中添
- 安装 – WiX:安装服务为LocalService
- 将cygwin主目录设置为Windows的“用户配置文件”
- Windows – 在Win 2008 R2上禁用管理员帐户
- windows – 为命令行程序生成GUI的工具
- 局域网内Windows机器实现远程快速拷贝的做法
- windows-desktop-gadgets – 在没有Visual Studi
- compact-framework – 无法加载DLL’coredll.dll
- Windows Server 2008 R2(x64) IIS7+PHP5.6.30(F
热点阅读