python - 将空值绑定(bind)到 pyodbc 中的日期字段

标签 python pyodbc

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

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

... 我得到 pyodbc.Error: ('HY000', '[HY000] [SAS][SAS ODBC Driver][SAS Server]ERROR: 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 是没有默认值的时间戳列。

关于python - 将空值绑定(bind)到 pyodbc 中的日期字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2900524/

相关文章:

python - Pandas:DataFrame 的复杂转换

python - 如何使用请求发送具有 unicode 名称的文件

python - 让 pyodbc 为只返回一项的查询返回一个简单(标量)值

Python通过pyodbc在Access中的十进制数中插入一个冒号

python - Pyodbc - 读取存储过程的输出参数(SQL Server)

python - jupyterlab 不显示 png 图像

python - 有效划分 dask 数据帧的策略

python - 为 Django View 实现 HTTP Digest Auth

python - 如何将两个不同长度的列表合并为 Pandas 数据框?

python - 在 OSX 上使用 python 通过 ODBC 连接到数据库