SqlDateTime溢出该怎么解决

 更新时间:2015年11月11日 14:18:23   投稿:mrr  
这篇文章主要介绍了SqlDateTime溢出该怎么解决的相关资料,需要的朋友可以参考下

错误出现:导入数据时出现“SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间。”
出现这种问题多半是因为你插入或者更新数据库时datetime字段值为空默认插入0001年01月01日造成datetime类型溢出。

原因分析:

关于DateTime,在将DateTime类型,插入到数据库的时候,最容易出现的一种错误:“SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间”原因是我们在取DateTime.MinValue的值,并插入到数据库的时候,DateTime.MinValue值范围和数据库DateTime类型数据范围不一致造成的。数据库中,DateTime类型字段,最小值1/1/1753 12:00:00,而.NET Framework中,DateTime类型,最小值为1/1/0001 0:00:00,显然,超出了Sql的值的最小范围,导致数据溢出的错误。

解决方法:

使用System.Data.SqlTypes.SqlDateTime.MinValue替代System.DateTime类型,这样SqlDateTime的MinValue和Sql中DateTime的范围吻合,就不会再出现以上的错误了。

但是如果直接将System.Data.SqlTypes.SqlDateTime.MinValue 赋值给 System.DateTime类型的变量会出现如下错误:错误 86 无法将类型“System.Data.SqlTypes.SqlDateTime”隐式转换为“System.DateTime”。存在一个显式转换(是否缺少强制转换?) 我们可以采用Convert.ToDateTime来进行强制转换。

附:SQLServer数据库的DateTime默认值为 1900/1/1 00:00:00,如果插入null值,会默认为1900/1/1 00:00:00。

相关文章

  • Sql检验数据库中各个表的数据量

    Sql检验数据库中各个表的数据量

    本文主要介绍了Sql检验数据库中各个表的数据量,这样的查询有助于评估每个表的数据量,从而更好地进行数据库性能优化,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • ASP.NET和MSSQL高性能分页实例代码

    ASP.NET和MSSQL高性能分页实例代码

    这篇文章主要介绍了ASP.NET和MSSQL高性能分页实例代码的相关资料,需要的朋友可以参考下
    2016-01-01
  • SQL查询连续号码段的巧妙解法

    SQL查询连续号码段的巧妙解法

    SQL查询连续号码段的巧妙解法...
    2007-04-04
  • sqlserver分页的两种写法分别介绍

    sqlserver分页的两种写法分别介绍

    本文将介绍sql server传统的写法与SQL Server2005以后的分页语句需要了解的朋友可以参考下
    2012-11-11
  • 如何将sql执行的错误消息记录到本地文件中实现过程

    如何将sql执行的错误消息记录到本地文件中实现过程

    sql语句的错误信息都可以在sys.messages表里面找到,下面与大家分享下将sql 执行的错误消息记录到本地文件中,不会的朋友可以参考下哈
    2013-05-05
  • SQL Server数据表模糊查询(like用法)以及查询函数详解

    SQL Server数据表模糊查询(like用法)以及查询函数详解

    使用SQL Server查询时经常会使用模糊查询,需要查询包含的指定字符串内容,这篇文章主要给大家介绍了关于SQL Server数据表模糊查询(like用法)以及查询函数的相关资料,需要的朋友可以参考下
    2024-05-05
  • MySql更新优化策略

    MySql更新优化策略

    数据库优化是一项很复杂的工作,因为这关系到对系统优化的理解。mysql更新优化是程序员必掌握的知识,这篇文章主要介绍mysql更新优化的策略,需要的朋友可以参考下
    2015-08-08
  • SQL Server中row_number函数的常见用法示例详解

    SQL Server中row_number函数的常见用法示例详解

    这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • SQL中LIKE和REGEXP简单对比分析

    SQL中LIKE和REGEXP简单对比分析

    这篇文章主要介绍了SQL中LIKE和REGEXP简单对比,在MySQL中,LIKE和REGEXP都可以用于模式匹配,但是它们的语法、性能和应用场景有所不同,通常来说,在简单的字符串模糊匹配场景下,使用LIKE更加高效;而在需要更复杂的模式匹配时,使用REGEXP更加灵活
    2023-09-09
  • sqlserver数据库出现置疑的解决思路

    sqlserver数据库出现置疑的解决思路

    首先新建一个同名的数据库,然后再停掉sql server服务,用原数据库的数据文件覆盖掉这个新建的数据库文件,重启sql server服务。感兴趣的朋友可以参考下哈,希望可以帮助到你
    2013-03-03

最新评论