gpt4 book ai didi

sql-server - SQL - 将 varchar 数据类型转换为 datetime 数据类型导致值超出范围

转载 作者:行者123 更新时间:2023-12-01 17:17:46 26 4
gpt4 key购买 nike

运行 SQL 将数据类型值从​​ varchar 转换为 datetime 时,我收到以下错误。

Msg 242, Level 16, State 3, Line 1 The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

我已经检查了数据,没有发现任何奇怪的地方:进行了以下检查,但均未返回任何结果

SELECT [Date] from table where [DATe] is null
SELECT [Date] from table where [DATe] = ''
SELECT [Date] from table where LEN([date])> 10
SELECT [Date] from table where LEN([date])< 10
SELECT top 100 [Date] , SUBSTRING([date],4,2) from [table where convert(int, SUBSTRING([date],4,2)) < 1 or convert(int, SUBSTRING([date],4,2)) > 12
SELECT top 100 [Date] , SUBSTRING([date],1,2) from table where convert(int, SUBSTRING([date],4,2)) < 1 or convert(int, SUBSTRING([date],4,2)) > 31

还有什么值得一看的,也许值得任何指点或帮助解决这个问题吗?似乎无法弄清楚。

最佳答案

我一周前也遇到过同样的问题。问题出在时区设置上。以其他格式指定,例如 mm/dd/yyyy(通常有效)。

将日期指定为 30/12/2013 会导致我出错。但是,将其指定为 mm/dd/yyyy 格式是有效的。

如果您需要转换输入,您可以尝试使用 CONVERT 方法。语法是

CONVERT(VARCHAR,@your_date_Value,103)

CONVERT(VARCHAR, '12/30/2013', 103)

最后的103是日期时间格式。

请参阅此链接以获取转换格式和进一步阅读。 https://www.w3schools.com/sql/func_sqlserver_convert.asp

关于sql-server - SQL - 将 varchar 数据类型转换为 datetime 数据类型导致值超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20838344/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com