zoukankan      html  css  js  c++  java
  • sql server报【从varchar数据类型到datetime数据类型的转换产生一个超出范围的值】错误的解决办法

    产生这个错误的原因是在使用convert函数将给定的日期字符串转换为日期类型的时候,因为datetime这个数据类型有时间数值的范围限定,当超出时间范围时就抛出这个错误。

    如果类型是【datetime】数据类型:最大是9999年12 月31日,最小是1753年1月1日。

    如果类型是【smalldatetime】数据类型:最大值是2079年6月6日,最小值是1900年1月1日。

    更多的,如果给定的日期字符串是一个错误的日期,也会报出这个错误,比如说:

    select convert(datetime, '2018-11-31', 20); -- 报错

    看出问题来了嘛?11月份怎么会有31天呢,因为31天超出了11月份30天的范围,因此就会报这个【从varchar数据类型到datetime数据类型的转换产生一个超出范围的值】的错误。

    我遇过现场客户给出【2015-09-38】的数据,排查半天才发现这个问题,真是让人头大。

    "你现在多学一样本事,就能在以后少说一句求人的话。"

  • 相关阅读:
    部分测试文档
    部分说明文档
    最终复审
    M2postmortem
    Beta版本发布说明
    M2项目测试
    Daily scrum 12.24
    Daily scrum 12.21
    Daily scrum 12.20
    个人阅读作业2
  • 原文地址:https://www.cnblogs.com/yanggb/p/11095390.html
Copyright © 2011-2022 走看看