如何过滤日期

问题描述 投票:0回答:1

在我的SQL客户端中,我在运行时得到记录:

SELECT * FROM foo WHERE foo.date = '2019-01-01';

((foo.datedate类型时。]

在asyncpg中,我尝试通过两种方式重现此内容:

from datetime import date
where_date = date(2019, 1, 1)
sql = f"SELECT * FROM foo WHERE foo.date = '{where_date}';"
records = await asyncpg.fetch(sql)

sql = "SELECT * FROM foo WHERE foo.date = $1;"
records = await conn.fetch(sql, where_date)

但是这些结果均未返回任何记录。

我在做什么错,在asyncpg中过滤datedatetime上的查询的正确方法是什么?

python postgresql python-3.7 asyncpg
1个回答
0
投票

如果列foo.date的数据类型为datetime,则应将其转换为date。请参见下面的示例:

SELECT * FROM foo WHERE CONVERT(DATE, foo.date) = CONVERT(DATE, '2019-01-01');
© www.soinside.com 2019 - 2024. All rights reserved.