我为使用 PowerAMC 创建的数据库生成了一些虚假数据。该数据库作为一些以时间日期格式归档的数据库。但是当我在 SQL Server(Express 版)中运行该文件时,我有以下内容:
The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
相关线路:
insert into INVENTORY (INVENTORY_ID, STATUS, START_DATE, COMPLETION_DATE) values (7, 'MAHSTDIV9', '1005-5-19 9:48:44', '1235-2-16 9:42:10')
所以我认为日期格式不是预期的格式(可能是 dd-mm-yyyy 而不是我所拥有的格式)但我不知道我可以做些什么来防止这种情况发生。
到目前为止我做了什么:
尝试转换日期
select CONVERT(DATETIME,'345-12-9 3:23:52',120)
-> Conversion failed when converting date and/or time from character string.
select CAST(CONVERT(VARCHAR(100),'345-12-9 3:23:52',120) AS datetime)
-> The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
您知道如何修复它吗?
最佳答案
datetime只能追溯到1753年,改用datetime2,datetime2是sql server 2008引入的
例子
select CONVERT(DATETIME2,'0345-12-9 3:23:52')
关于sql - SQL Server 的日期时间转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17065971/