吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1449|回复: 17
收起左侧

[Python 转载] psycopg2 时间查询 无数据

[复制链接]
sea8523 发表于 2022-8-10 16:07
[Python] 纯文本查看 复制代码
import psycopg2
conn = psycopg2.connect(host="***", port=5432,
                        user="postgres", password="***",
                        database= 'VionCount'#
                        )
# print("数据库连接成功")
#获取游标
curs=conn.cursor()

sql = """ select * from  d_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 模块 但是又出现了新问题
[Python] 纯文本查看 复制代码
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吗?引入之后怎么用的呢?

[Python] 纯文本查看 复制代码
import datetime

sql = """ select hour,countdate,counttime from  d_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 * from  d_mall_hour_count_data where countdate = '2021-07-01'”,这样再试试
 楼主| sea8523 发表于 2022-8-11 11:39
醉红尘0 发表于 2022-8-11 08:21
sql字符串那行,不要用三引号,把末尾分号也去掉:“select * from  d_mall_hour_count_data where countda ...

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


image.png
 楼主| 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 脚本是怎样的;或者将 日期 作为参数传入

用传参的方式 会报错
[Lua] 纯文本查看 复制代码
sql = ' select * from  d_mall_hour_count_data where countdate = ?  '
curs.execute(sql,('2022-07-01',))

image.png



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里 可以查到数据
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 02:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表