在SQLServer2012中查询POSIXct datetime列时出现PYODBC错误

时间:2017-03-16 07:13:31

标签: python sql-server pyodbc

我正在使用Python 3.6.0 | Anaconda 4.3.0(64位),sqlalchemy和pyodbc来查询MSSQL 2012 Server。我可以查询任何列,但不能查询POSIXct时间的列。

这是我得到的错误。看来错误是由pyodbc引起的。

  

ProgrammingError:(pyodbc.ProgrammingError)('ODBC SQL类型-155是   尚不支持。 column-index = 0 type = -155','HY106')

pyodbc Version: 4.0.14

这是我的代码:

import sqlalchemy as sq
import pandas as pd

engine = sq.create_engine('mssql+pyodbc://sqlservertest/Mart?driver=SQL+Server+Native+Client+11.0')
m = sq.MetaData(engine) 
insurance = sq.Table('Insurance', m, autoload=True, schema="Insurance", autoload_with=engine)
stmt = sq.select([insurance.c.ModifiedAt])
df = pd.read_sql(stmt, engine) 

我要查询的列如下所示:

ModifiedAt
2016-04-01 23:24:08.0000000 -06:00
2016-04-01 23:37:27.0000000 -06:00
2016-04-01 23:31:01.0000000 -06:00
2016-04-02 09:39:38.0000000 -06:00
2016-04-04 10:26:34.0000000 -10:00
2016-04-04 11:10:20.0000000 -10:00
2016-04-04 11:32:54.0000000 -10:00
2016-04-04 11:42:04.0000000 -10:00
2016-04-04 11:48:19.0000000 -10:00
2016-04-05 08:32:38.0000000 -10:00

我该如何解决这个问题?

0 个答案:

没有答案