【问题标题】:Python - Date coming from SQL as a list of valuesPython - 来自 SQL 的日期作为值列表
【发布时间】:2021-01-16 18:03:48
【问题描述】:

我试图从 SQL Server 中的表中获取日期,但它以列表形式返回。如何将其转换回日期时间值?

这是我获取日期的方式:

max_date = engine.connect().execute('select max(receive_datetime) from my_db.dbo.file_table').fetchall()

这是输出的内容:

>>>[(datetime.datetime(2020, 9, 30, 16, 18, 23),)]

我怎样才能轻松地将其转换为日期?更重要的是,我是否以错误的方式将其作为列表显示出来? 我尝试使用 datetime.strptime 转换它,但它需要一个字符串而不是列表。

【问题讨论】:

  • 请澄清:您的预期输出是什么?日期时间对象?列表有多少个元素?
  • 尝试调用.scalar() 而不是.fetchall()
  • 谢谢@GordThompson。添加.scalar() 解决了我的问题,该值现在以日期时间而不是列表的形式出现。

标签: python-3.x datetime sqlalchemy pyodbc


【解决方案1】:

已解决

我需要将.fetchall() 替换为.scalar()

max_date = engine.connect().execute('select max(receive_datetime) from my_db.dbo.file_table').scalar()

现在输出是日期时间而不是列表:

>>> datetime.datetime(2020, 9, 30, 16, 18, 23)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-29
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 2019-09-20
    • 1970-01-01
    • 2021-01-21
    • 1970-01-01
    相关资源
    最近更新 更多