【发布时间】:2011-12-14 06:58:36
【问题描述】:
我有 2 个字符串代表:
- date- dd/mm/yyyy hh:mm 我需要将其转换为 timestamp without time zone
- start_time/end_tiime- hh:mm:ss 我需要转换它没有时区的时间
我需要这样做才能将它们添加到 sql 查询中。看起来像这样:
sql = '''
INSERT INTO myTable (date, start_time, end_time)
VALUES (%s ,%s, %s, %s);'''
params = [timestamp, start_time, end_time]
self.cursor.execute(sql, params)
【问题讨论】:
-
你是使用ORM(SQLAlchemy、Autumn等)还是直接使用一些dbapi模块,哪一个(psycopg2、pg8000等)?
-
我没有尝试过,但我认为您可以提供
psycopg2Python 字符串、浮点数、整数、日期时间对象,如果没有,它会自行将它们转换为兼容的 SQL 类型,如果您可以注册适配器.可能会出现一些复杂情况,例如不同版本的 postgresql 以不同的方式对待timestamp有/没有时区类型,psycopg2可能 暴露 postgresql 是使用整数还是浮点数编译时间戳、时间。您可以通过调用cursor.mogrify()来查看将发送到数据库的内容。
标签: python postgresql datetime timestamp