gpt4 book ai didi

python - pandas read_sql。如何使用日期字段的where子句进行查询

转载 作者:行者123 更新时间:2023-12-01 06:37:06 26 4
gpt4 key购买 nike

我有一个字段月年,格式为 datetime64[ns] 。

如何在 where 子句中使用此字段来获取滚动 12 个月的数据(过去 12 个月的数据)。

以下查询不起作用,但我想要过滤 12 个月数据的工具。

select * from ABCD.DEFG_TABLE where monthyear > '2019-01-01'

仅供引用 - 这是一个 Oracle 数据库。如果我可以避免对值 2019-01-01 进行硬编码,那就太好了!!

最佳答案

您需要使用日期时间并设置日期格式如下。

只需获取相对日期,如果您遵循日期时间格式为 YYYYMMDD,请使用日期时间中的 strftime 和正则表达式字符串作为 ("%Y%m%d")

import datetime
import pandas
from dateutil.relativedelta import relativedelta


query = "SELECT * FROM ng_scott.Emp"

between_first = datetime.date.today()
between_second = between_first - relativedelta(years=1)


# GET THE DATASET
dataset = pd.read_sql(query , con=engine)

# PARSE THE DATASET
filtered_dataset = dataset[(dataset['DOJ'] > between_first ) & (dataset['DOJ'] > between_second )]

print(filtered_dataset)

关于python - pandas read_sql。如何使用日期字段的where子句进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59614945/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com