使用pyodbc

时间:2017-09-21 01:01:49

标签: azure-sql-database pyodbc iso8601

我正在尝试(实际上失败)使用pyodbc将字符串文字ISO 8601 timestamp插入到datetimeoffset(3).

类型的Azure SQL数据库表列中
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]从字符串转换日期和/或时间时转换失败。(241)(SQLExecDirectW) “)

我在这里缺少什么?

干杯

1 个答案:

答案 0 :(得分:2)

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

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

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

祝你好运!