Sql server 获取SQL Server错误:从字符串转换日期和/或时间时转换失败

Sql server 获取SQL Server错误:从字符串转换日期和/或时间时转换失败,sql-server,datetime,null,Sql Server,Datetime,Null,我正在处理存储在SQL Server中的数据,在将null插入DATETIME列时遇到问题。想法 我正在使用SQL Server数据库 模式: CREATE TABLE loadedmoves_table ( ... date_field DATETIME, PRIMARY KEY (blabla) ); 插入语句: INSERT INTO sample_table (..., date_field) SELECT ..., date_field

我正在处理存储在SQL Server中的数据,在将null插入
DATETIME
列时遇到问题。想法

我正在使用SQL Server数据库

模式:

CREATE TABLE loadedmoves_table
(
     ... 
     date_field DATETIME, 
     PRIMARY KEY (blabla)
); 
插入
语句:

INSERT INTO sample_table (..., date_field) 
    SELECT ..., date_field 
    FROM sample_view 
    ORDER BY PK; 

从列中删除非空约束,然后运行插入查询 喜欢


在此查询中,不要在解决方案使用的列中使用日期时间列名

TRY_CAST(日期字段为DATETIME)


在SELECT语句中,了解您正在使用的db引擎以及insert查询的示例非常有用。。。当然,DDL是有帮助的。可能该列被设置为不可为空。我在插入空值时遇到问题,而您遇到的问题是什么?问题是您想插入空值但不能,还是您不想插入空值但却发现您正在这样做?无论哪种方式,一些相同的代码、示例数据和表定义都将有助于解决您遇到的错误DB是MSSQL模式创建创建表loadedmoves_表(…date_字段DATETIME,主键(blablabla));Insert语句Insert INTO sample\ U表格(…日期\字段)选择。。。按主键查看订单样本的日期字段;更改列的可空性不会影响将字符串转换为适当数据类型的能力。建议使用字符串数据类型来存储时态数据是一个非常糟糕的建议,它将允许插入无意义的值。基本上,这种方法只是将问题进一步推到一个系统中,这将使其更脆弱、更不准确、更昂贵(就开发和维护成本而言)。
insert into table_name (column) values(values);