`
netxdiy
  • 浏览: 728460 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SQL Server中Between在查询日期时有30秒的误差

 
阅读更多

在SQL Server 2005 SP3环境下,今天偶然使用Between查询日期数据时,发现以下奇怪现象:其中PaymentDate为Smalldatetime

邀月工作室

难道2011-07-31 23:59:59还在2011-08-01 0:00:00之外?

继续尝试,发现将时间减少31秒时,才真正达到想要的效果,如下:

邀月工作室

小结:在用Between限制时间范围时,范围的边界值应该向内收缩31秒,以达到真正符合需求的时间范围。

不知道这是否算是“可忽略的误差”?

补充:

后来查看MSDN知:(http://msdn.microsoft.com/zh-cn/library/ms182418.aspx

smalldatetime的时间误差为1分钟,小于或等于 29.998 秒的值向下舍入为最接近的分钟数;大于或等于 29.999 秒的值向上舍入为最接近的分钟数。



邀月注:本文版权由邀月和CSDN共同所有,转载请注明出处。
助人等于自助!
3w@live.cn



分享到:
评论

相关推荐

    SQL Server 查询两个日期之间的所有月份

    在SQL Server中,查询两个日期之间的所有月份是一个常见的需求,特别是在数据分析、报表生成或时间序列分析等场景。本文将详细讲解如何使用SQL Server实现这一功能,以满足上述标题和描述中的要求。 首先,我们需要...

    SQL Server中日期问题的解决

    通过以上四种方法,我们可以有效地在SQL Server中处理日期相关的查询问题。每种方法都有其适用场景和局限性,开发者可以根据实际需求选择最合适的方式来实现日期过滤的功能。此外,随着SQL Server版本的不断更新,还...

    SQLServer时间类型日期类型.pdf

    日期/时间数据类型是SQL Server中非常重要的组成部分,掌握其基本概念和操作方法对于高效管理数据库至关重要。通过对`DATETIME`、`SMALLDATETIME`以及SQL Server 2008新增的数据类型的理解,我们可以更好地设计...

    sqlserver之并行查询

    在数据库中有一个查询优化器,会对 SQL 语句进行优化,然后数据库才会去执行查询语句。如果查询优化器认为查询语句可以从并行查询中获取收益,则就会将交换运算符插入到查询执行计划中,为并行查询做准备。 其次,...

    sqlserver中日期型字段设默认值

    在SQL Server中,日期型字段设默认值是一个重要的功能,它允许数据库管理员或开发者为特定的日期字段设定一个默认的时间点,通常是当前时间或者基于当前时间的某个偏移量。这在创建新记录时非常有用,可以自动填充...

    40集SQL Server 基础入门视频教程 SQL Server 数据库基础入门必备课程

    16.SQL Server 2014 BETWEEN语法.mp4 17.SQL Server 2014子查询IN.mp4 18.SQL Server 2014子查询EXISTS.mp4 19.SQL Server 2014返回记录排序.mp4 2.SQL Server 2014硬件和软件要求.mp4 20.SQL Server 2014关联...

    sqlserver中得到当前日期

    SQL Server 中获取当前日期 SQL Server 中获取当前日期是通过使用 GETDATE() 函数或 CONVERT 函数来实现的。GETDATE() 函数返回当前日期和时间,而 CONVERT 函数可以将日期和时间格式化输出。 GETDATE() 函数 ...

    sql server提取日期的部分

    总之,`DATEPART`和`DATENAME`函数在SQL Server中提供了强大的日期和时间处理能力,它们能够帮助你轻松地从日期字段中提取出所需的年、月、日、周、时、分、秒等信息,并以整数或字符串的形式呈现。在处理日期相关的...

    oracle到sqlserver 跨库查询

    Oracle 到 SQL Server 跨库查询是指通过网关工具将数据从 SQL Server 数据库中抽取到 Oracle 数据库中。这个过程需要安装和配置网关软件,并进行相应的设置和配置。 一、网关软件安装 网关软件的安装是跨库查询的...

    SQL SERVER 2005 中的日期时间类型及使用方法

    在SQL SERVER 2005中,日期时间类型的处理是数据库操作中的常见任务,涉及到数据存储、查询和计算。本文将详细阐述SQL SERVER 2005提供的两种主要日期时间类型:datetime和smalldatetime,以及它们的使用方法。 1. ...

    SQLServer的性能调优:解决查询速度慢的五种方法

    本文主要通过一下几个方面介绍:使用SQLDMV查找慢速查询、通过APM解决方案查询报告、SQLServer扩展事件、SQLAzure查询性能洞察等相关内容。本文来自博客园,由火龙果软件Anna编辑、推荐。SQLServer的一个重要功能是...

    sqlserver sql 根据出生日期生成年龄

    sqlserver sql 根据出生日期生成年龄 去

    sqlServer 日期类型转字符串

    在SQL Server中,将日期类型转换为字符串是一个常见的需求,特别是在数据展示或处理时需要特定日期格式的情况下。本文将深入探讨如何使用SQL Server内置的`CONVERT`函数将日期类型转化为各种格式的字符串,以及这一...

    SQL Server查询中的特殊字符处理

    在SQL Server中,查询语句可能会遇到各种特殊字符,这些字符在特定的上下文中具有特殊的含义,如果直接使用,可能会影响到查询的结果。本篇将详细阐述如何处理这些特殊字符,特别是针对`LIKE`操作的特殊字符。 首先...

    SQLserver中按年月日生成日期型自增编码.pdf

    本文档介绍了在 SQL Server 中生成日期型自增编码的方法,通过创建两个函数 `GenCustomCode` 和 `GenCustomID`,可以生成按年月日的日期型自增编码。该方法可以应用于各种业务系统中,满足不同业务需求的日期型自增...

    sqlserver数据库类型对应Java中的数据类型

    在 SQL Server 中,datetimeoffset 是一个日期时间偏移类型,用于存储日期时间偏移值。在 Java 中,datetimeoffset 对应的数据类型是 microsoft.sql.Types.DATETIMEOFFSET。 了解 SQL Server 数据库类型对应 Java ...

    sqlserver自动生成sql语句工具sqlserver转oracle

    例如,通过这样的工具,我们可以导出SQL Server中的表结构、索引、存储过程、触发器等对象的创建语句。 描述中提到的"sqlserver转oracle"则是指将SQL Server数据库的内容迁移到Oracle数据库的过程。这个过程涉及到...

    详解SQL Server分布式查询

    SQL Server中的分布式查询(Distributed Query)是指能够访问存放在同一部计算机或不同计算机上的SQL Server或不同种类的数据源。分布式查询与普通查询的区别在于它需要连接多个MSSQL服务器,也就是具有多个数据源。...

    Sql Server 数据库超时问题的解决方法

    Sql Server 数据库超时问题的解决方法主要包括调整等待响应时间、在企业管理器中调整等待响应时间、在查询分析器中调整等待响应时间、在.NET 中调整等待响应时间等方法。通过这些方法,可以解决 Sql Server 数据库...

    SQL Server查询中的特殊字符处理(C#代码)

    SQL Server中的一些特殊字符被用作通配符或具有特殊语法含义。例如: - `[]`:用于字符类匹配。 - `'`:用于字符串文本的引用。 - `%`:通配符,代表任意数量的字符。 - `_`:通配符,代表单个字符。 - `^`:虽然...

Global site tag (gtag.js) - Google Analytics