Sql server SQL Server将int转换为Datetime
我正在尝试转换一些数据类型为Sql server SQL Server将int转换为Datetime,sql-server,datetime,Sql Server,Datetime,我正在尝试转换一些数据类型为int的数据。但是,当我尝试将200转换为年份时,它抛出了一个错误: 将varchar数据类型转换为datetime数据类型导致值超出范围 代码: 我不知道这有什么问题。可能datetime不接受这种格式200-05-01作为日期格式。正如错误所指出的,您的值超出范围。DATETIME的最小值为: 1753-01-01 00:00:00.000 您尝试转换的内容低于最小值,因此会出现错误 正如marc_s所评论的: 如果您使用的是SQL Server 2008或更
int
的数据。但是,当我尝试将200
转换为年份时,它抛出了一个错误:
将varchar数据类型转换为datetime数据类型导致值超出范围
代码:
我不知道这有什么问题。可能
datetime
不接受这种格式200-05-01
作为日期格式。正如错误所指出的,您的值超出范围。DATETIME
的最小值为:
1753-01-01 00:00:00.000
您尝试转换的内容低于最小值,因此会出现错误
正如marc_s所评论的: 如果您使用的是SQL Server 2008或更高版本,则可以绕过此问题 使用
DATETIME 2(3)
而不是DATETIME
时出现问题。这个新的数据类型
没有旧的那种“人为”的射程限制
正如错误所指出的,您有一个超出范围的值。
DATETIME
的最小值为:
1753-01-01 00:00:00.000
您尝试转换的内容低于最小值,因此会出现错误
正如marc_s所评论的: 如果您使用的是SQL Server 2008或更高版本,则可以绕过此问题 使用
DATETIME 2(3)
而不是DATETIME
时出现问题。这个新的数据类型
没有旧的那种“人为”的射程限制
您可以使用
datetime2
而不是datetime
。它支持日期为1-1-0001或更高版本 您可以使用datetime2
而不是datetime
。它支持日期为1-1-0001或更高版本 如果您使用的是SQL Server 2008或更高版本,则可以使用DATETIME 2(3)
而不是DATETIME
来解决此问题。此新数据类型没有旧数据类型那样的“人为”范围限制。如果您使用的是SQL Server 2008或更高版本,则可以使用DATETIME2(3)
而不是DATETIME
来解决此问题。这种新的数据类型没有旧数据类型那样的“人为”范围限制。