sea8523 发表于 2022-8-10 16:07

psycopg2 时间查询 无数据

import psycopg2
conn = psycopg2.connect(host="***", port=5432,
                        user="postgres", password="***",
                        database= 'VionCount'#
                        )
# print("数据库连接成功")
#获取游标
curs=conn.cursor()

sql = """ select * fromd_mall_hour_count_data where countdate = '2021-07-01'; """
curs.execute(sql)
rows=curs.fetchall()#获取所有数据
print(rows)


执行 查询指定日期,查询出来数据为空。在sql中 是可以查到数据的。countdate = '2021-07-01这个的问题出在哪里

sea8523 发表于 2022-8-11 14:51

已经解决了,需要引入 datetime 模块 但是又出现了新问题
sql= """ select hour,countdate,counttime,(select sum(innum)-sum(outnum) from d_mall_hour_count_data t2 where t2.countdate=t1.countdate and t2.hour <=t1.hour) as zhiliu from d_mall_hour_count_data t1 where countdate >=date '2022-07-01' and countdate< date '2022-08-01' group by counttime,countdate,hour order by countdate """

执行这个复杂的语句 执行为空

sea8523 发表于 2022-8-15 09:09

randomone 发表于 2022-8-13 10:40
再多问一句吼,python引入datetime吗?引入之后怎么用的呢?

import datetime

sql = """ select hour,countdate,counttime fromd_mall_hour_count_data where countdate >= date '2020-07-01' and   countdate < date '2022-08-01' """
curs.execute(sql)
rows=curs.fetchall()#获取所有数据
print(rows)

cshadow 发表于 2022-8-11 01:45

试试用 curs.mogrify(sql)返回的sql 脚本是怎样的;或者将 日期 作为参数传入

醉红尘0 发表于 2022-8-11 08:21

sql字符串那行,不要用三引号,把末尾分号也去掉:“select * fromd_mall_hour_count_data where countdate = '2021-07-01'”,这样再试试

sea8523 发表于 2022-8-11 11:39

醉红尘0 发表于 2022-8-11 08:21
sql字符串那行,不要用三引号,把末尾分号也去掉:“select * fromd_mall_hour_count_data where countda ...

我最开始就是这样写的 不行哦   还是空


sea8523 发表于 2022-8-11 11:44

cshadow 发表于 2022-8-11 01:45
试试用 curs.mogrify(sql)返回的sql 脚本是怎样的;或者将 日期 作为参数传入

参数传递的 咋写哦

sea8523 发表于 2022-8-11 12:04

cshadow 发表于 2022-8-11 01:45
试试用 curs.mogrify(sql)返回的sql 脚本是怎样的;或者将 日期 作为参数传入

用 curs.mogrify(sql)执行这条语句 没反应啊

sea8523 发表于 2022-8-11 14:17

cshadow 发表于 2022-8-11 01:45
试试用 curs.mogrify(sql)返回的sql 脚本是怎样的;或者将 日期 作为参数传入

用传参的方式 会报错
sql = ' select * fromd_mall_hour_count_data where countdate = ?'
curs.execute(sql,('2022-07-01',))




randomone 发表于 2022-8-11 17:34

感觉和python无关呃,你直接命令行或者pgadmin执行这个sql估计也查不到,大概率是countdate的数据格式问题?

sea8523 发表于 2022-8-11 18:33

randomone 发表于 2022-8-11 17:34
感觉和python无关呃,你直接命令行或者pgadmin执行这个sql估计也查不到,大概率是countdate的数据格式问题 ...

在sql里 可以查到数据
页: [1] 2
查看完整版本: psycopg2 时间查询 无数据