我有一个 SQL 表,我使用 SQLalchemy 和 python 查询该表。
goog = pd.read_sql("\
\
SELECT dp.price_date, dp.adj_close_price \
FROM symbol AS sym \
INNER JOIN daily_price AS dp \
ON dp.symbol_id = sym.id \
WHERE sym.ticker = 'GOOG' \
ORDER BY dp.price_date ASC",
con = engine,
index_col='price_date')
现在我的问题是,price_date数据类型是datetime,我尝试在WHERE子句中进行过滤,但失败了。像这样:
price_date BETWEEN 2021-11-08 00:00:00.00000 AND 2021-11-12 00:00:00.000000
还有这个:
price_date BETWEEN 2021-11-08 AND 2021-11-12
有什么解决办法吗?
最佳答案
在这两种情况下,日期都需要单引号
price_date BETWEEN '2021-11-08 00:00:00.00000' AND '2021-11-12 00:00:00.000000'
还有这个:
DATE(price_date) BETWEEN '2021-11-08' AND '2021-11-12'
也适合阅读 mysql 中的引号 When to use single quotes, double quotes, and backticks in MySQL
关于python - 如何在Python中使用SQLalchemy过滤SQL表中的日期时间列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69980443/