错误插入ISO8601字符串字符串使用PYODBC插入Azure SQL DB dateTimeOffset列中



我正在尝试(实际上失败)使用pyodbc插入字符串文字ISO 8601 timestamp,然后将其插入一个类型datetimeoffset(3).

的Azure SQL DB表列中
cursor.execute(
    'INSERT INTO AP_TEST (Id, t_zulu) VALUES (?, ?)',
    '1234',
    '2017-08-04T17:03:37.266Z'
)

这是例外:

pyodbc.dataerror :('22007','[22007] [Microsoft] [SQL Server的ODBC驱动程序13] [SQL Server] [SQL Server]转换日期和/或从字符字符串转换日期时失败。')

我在这里缺少什么?

欢呼

SQL Server为datetimeoffset,AFAIK采用不同的格式。尝试:

'2017-09-20 20:32:10 +10:0'

请参阅此处的文档和示例:https://learn.microsoft.com/en-us/sql/t-sql/data-types/dateTimeOffset-offset-offset-eftset-offset-transact-transact-sql

祝你好运!

最新更新