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】的数据,排查半天才发现这个问题,真是让人头大。

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

  • 相关阅读:
    java 第二次作业
    Java上机作业5.7
    Java上机作业4.30
    Java第八周作业
    上机作业4.23
    第七周作业
    4.16上机作业
    第六周作业
    Java上机作业4.9
    Java4.2上机作业
  • 原文地址:https://www.cnblogs.com/yanggb/p/11095390.html
Copyright © 2011-2022 走看看