Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server将int转换为Datetime_Sql Server_Datetime - Fatal编程技术网

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
来解决此问题。这种新的数据类型没有旧数据类型那样的“人为”范围限制。