使用 sqlalchemy 提交原始 SQL 时将日期作为字符串

达斯南瓜

在 SQLAlchemy 中,当我提交选择日期时间属性的原始 SQL 查询时,日期作为字符串返回。但是,当我使用该Table.select方法而不是原始 SQL 时,日期被正确格式化为datetime.datetime对象。

这是一个最小的例子:

import sqlalchemy as sa

eng = sa.create_engine('sqlite:///:memory:')
meta = sa.MetaData()
foos = sa.Table('foos', meta,
                sa.Column('id', sa.Integer, primary_key=True),
                sa.Column('created_at', sa.DateTime))
meta.create_all(eng)
conn = eng.connect()

现在,当我们使用面向对象的方法进行查询时:

>>> dict(conn.execute(foos.select()).fetchone())
{'id': 1, 'created_at': datetime.datetime(2017, 6, 1, 11, 0)}

那是一个datetime.datetime而使用原始 SQL:

>>> dict(conn.execute('select * from foos').fetchone())
{'id': 1, 'created_at': '2017-06-01 11:00:00.000000'}

那是一个字符串。(虽然整数属性id被识别为这样!)

我知道我可以datetime.strptime用来解析字符串,但我的问题是

  • 为什么我得到一个字符串?
  • 我可以使用原始 SQL 让 sqlalchemy 给我一个日期时间吗?如果是这样,如何?

注意:我知道这个相关线程,但它没有回答我的问题。

小D

您使用SQLiteas DB,日期和时间类型存储为strings,当您使用时raw SQL,查询结果将为字符串格式,但是,当您使用时sqlalchemy,日期和时间类型存储为字符串,然后datetime在行时转换回对象被退回。请参阅关于sqlalchemy.types.DateTime 的官方文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将原始SQL转换为SQLAlchemy查询

来自分类Dev

将原始SQL转换为SQLAlchemy查询

来自分类Dev

如何使用SQLAlchemy交叉两个原始SQL查询?

来自分类Dev

如何使用多行选择sql字符串参数作为原始值

来自分类Dev

使用 Sqlalchemy 连接和 Postgres 从原始字符串(不使用 .text(...))编译查询

来自分类Dev

不会使用SQLAlchemy引擎提交SQL Server查询

来自分类Dev

SQLAlchemy是否清除原始SQL?

来自分类Dev

使用原始 sqlalchemy 时删除每个请求的会话

来自分类Dev

升级后,原始sql查询将json字段作为字符串返回到postgres

来自分类Dev

使用SQLAlchemy将长整数对象提交给MYSQL

来自分类Dev

SQLAlchemy WHERE IN单个值(原始SQL)

来自分类Dev

来自原始SQL插入的sqlalchemy PK

来自分类Dev

SQLAlchemy-执行原始SQL查询

来自分类Dev

使用sqlalchemy创建sql引擎时出错-找不到图片

来自分类Dev

使用SQLAlchemy从SQL Server将表读入熊猫

来自分类Dev

使用SQLAlchemy将数据从MS SQL迁移到PostgreSQL

来自分类Dev

从SQL Server使用sqlalchemy将表读入熊猫

来自分类Dev

无法使用SQLAlchemy将熊猫to_sql中的表删除

来自分类Dev

使用sqlalchemy python将JSON数据导入SQL

来自分类Dev

AngularJS:使用sql日期字符串格式过滤日期

来自分类Dev

如何使用 Retrofit 为请求的查询字符串提交原始值(无参数名称和值对)?

来自分类Dev

我如何使用SQLAlchemy将批处理条目提交到SQL数据库中并且有错误的余地?

来自分类Dev

将日期从SQL Server转换为字符串以在CanvasJS图形中使用

来自分类Dev

使用Spark SQL将字符串格式化为日期时间

来自分类Dev

如何使用纯SQL将字符串解析为日期组件?

来自分类Dev

使用SQL和VBA将字符串转换为日期

来自分类Dev

LINQ 使用 DTO 将 SQL 服务器日期时间转换为字符串

来自分类Dev

flask_sqlalchemy 使用字符串的哈希作为主键

来自分类Dev

PostgreSQL使用原始SQL填写缺少的日期

Related 相关文章

  1. 1

    将原始SQL转换为SQLAlchemy查询

  2. 2

    将原始SQL转换为SQLAlchemy查询

  3. 3

    如何使用SQLAlchemy交叉两个原始SQL查询?

  4. 4

    如何使用多行选择sql字符串参数作为原始值

  5. 5

    使用 Sqlalchemy 连接和 Postgres 从原始字符串(不使用 .text(...))编译查询

  6. 6

    不会使用SQLAlchemy引擎提交SQL Server查询

  7. 7

    SQLAlchemy是否清除原始SQL?

  8. 8

    使用原始 sqlalchemy 时删除每个请求的会话

  9. 9

    升级后,原始sql查询将json字段作为字符串返回到postgres

  10. 10

    使用SQLAlchemy将长整数对象提交给MYSQL

  11. 11

    SQLAlchemy WHERE IN单个值(原始SQL)

  12. 12

    来自原始SQL插入的sqlalchemy PK

  13. 13

    SQLAlchemy-执行原始SQL查询

  14. 14

    使用sqlalchemy创建sql引擎时出错-找不到图片

  15. 15

    使用SQLAlchemy从SQL Server将表读入熊猫

  16. 16

    使用SQLAlchemy将数据从MS SQL迁移到PostgreSQL

  17. 17

    从SQL Server使用sqlalchemy将表读入熊猫

  18. 18

    无法使用SQLAlchemy将熊猫to_sql中的表删除

  19. 19

    使用sqlalchemy python将JSON数据导入SQL

  20. 20

    AngularJS:使用sql日期字符串格式过滤日期

  21. 21

    如何使用 Retrofit 为请求的查询字符串提交原始值(无参数名称和值对)?

  22. 22

    我如何使用SQLAlchemy将批处理条目提交到SQL数据库中并且有错误的余地?

  23. 23

    将日期从SQL Server转换为字符串以在CanvasJS图形中使用

  24. 24

    使用Spark SQL将字符串格式化为日期时间

  25. 25

    如何使用纯SQL将字符串解析为日期组件?

  26. 26

    使用SQL和VBA将字符串转换为日期

  27. 27

    LINQ 使用 DTO 将 SQL 服务器日期时间转换为字符串

  28. 28

    flask_sqlalchemy 使用字符串的哈希作为主键

  29. 29

    PostgreSQL使用原始SQL填写缺少的日期

热门标签

归档