使用python pyodbc,我试图在表中插入日期和时间,但得到
” ('22007',u'[22007] [Microsoft] [SQL Server的ODBC驱动程序17] [SQL Server]从字符串转换日期和/或时间时转换失败。(241)(SQLExecDirectW)') “
插入查询:
cursor.executemany("""INSERT INTO DM (SI, DK, Total, CR, CCM, SDate, EDate)
VALUES (?, ?, ?, ?, ?, ?, convert(datetime, ?, 121))""",dms)
尝试以下格式插入日期和时间:
20190201 01:14:54.862963
20190201T01:14:54.862963
请注意,仅在插入日期为20190201时,我就可以插入,但只能插入日期和时间来解决问题 以下查询也很累。使用此查询可以插入日期
cursor.executemany("""INSERT INTO DM (SI, DK, Total, CR, CCM, SDate, EDate)
VALUES (?, ?, ?, ?, ?, ?,?)""",dms)
答案 0 :(得分:1)
这些格式无效,无法自动转换为日期时间。
20190201 01:14:54.862963
20190201T01:14:54.862963
您可以插入以下格式:
insert into test values (1,2,convert(datetime,'20190201 01:14:54.862',121))
否则,如果您的数据采用所显示的格式,则可以通过删除最后3位数字来执行以下变通方法。
insert into test values (1,2,convert(datetime,substring('20190201 01:14:54.862963',1,len('20190201 01:14:54.862963')-3),121))
希望这会对您有所帮助。