python – 将空值绑定到pyodbc中的日期字段

使用pyodbc,如果我尝试在日期字段上执行此代码:

cursor.execute('insert into test VALUES (?)', None)

…我得到pyodbc.Error:(‘HY000′,'[HY000] [SAS] [SAS ODBC驱动程序] [SAS服务器]错误:VALUES子句1的值1与(中的相应列)的数据类型不匹配( -1)(SQLExecDirectW)’),如果我执行这个:

cursor.execute('insert into test VALUES (null)')

… 有用.还有其他方法可以执行此操作,这意味着我不需要检查我传递的参数吗?

最佳答案 在我的源代码(Python 2.71 / pyodbc 2.1.8)中,使用MS Access库,以下代码是可以的

st_dt=None
sql = 'insert into COM(poste,mydate) values (?,?)'
cursor.execute(sql,'1254',st_dt)
cnxn.commit()

其中mydate是没有默认值的Timestamp列.

点赞