如何在python变量中使用sql查询的日期使用日期

发布于 2025-02-05 01:00:07 字数 893 浏览 3 评论 0原文

我有一个看起来像这样的Python代码(片段) .....

lastCheckTime = datetime.datetime.strptime(strDate, "%Y-%m-%d %H:%M:%S")

connection_url = URL.create("mssql+pyodbc", query={"odbc_connect": connection_string})


engine = create_engine(connection_url)


sqldf = pd.read_sql_query(
    """\
SELECT * from ABC, XYZ, LMN, PQR 
WHERE ABC.id = XYZ.id 
  AND XYZ.TO_CLASS != '827' 
ORDER BY ABC.creation_date desc
    """, 
    engine,
)

这正常工作,但我想通过检查日期abc.creation_date> gt; Lastchecktime。

无法弄清楚如何执行此查询。

原始查询在甲骨文中。请参阅下面的外观。 等效于to_char(abc.creation_date)> :lastchecktime在我的查询中

SELECT * from ABC, XYZ, LMN, PQR 
WHERE ABC.id = XYZ.id 
  AND XYZ.TO_CLASS != '827'
  AND to_char(ABC.creation_date) > :lastCheckTime  
ORDER BY PCREATION_DATE desc

I have a python code which looks like this( snippets)
.....

lastCheckTime = datetime.datetime.strptime(strDate, "%Y-%m-%d %H:%M:%S")

connection_url = URL.create("mssql+pyodbc", query={"odbc_connect": connection_string})


engine = create_engine(connection_url)


sqldf = pd.read_sql_query(
    """\
SELECT * from ABC, XYZ, LMN, PQR 
WHERE ABC.id = XYZ.id 
  AND XYZ.TO_CLASS != '827' 
ORDER BY ABC.creation_date desc
    """, 
    engine,
)

This works fine but I want to execute the query with a check for date ABC.creation_date > lastCheckTime.

Unable to figure out how to execute this query.

The original query was in oracle . Please see below how it looks.
What should be the equivalent of to_char(ABC.creation_date) > :lastCheckTime in my query

SELECT * from ABC, XYZ, LMN, PQR 
WHERE ABC.id = XYZ.id 
  AND XYZ.TO_CLASS != '827'
  AND to_char(ABC.creation_date) > :lastCheckTime  
ORDER BY PCREATION_DATE desc

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沦落红尘 2025-02-12 01:00:07

查询应该如下工作,使用吗?作为占位符并命名params sqldf中的变量

= pd.read_sql_query(“ select * select * select * select * from abc,xyz,lmn,pqr,其中abc.id = xyz.id = xyz.id and xyz.to_class!='827'and 827'and abc.creation_date&gt&gt&gt> abc.creation_date desc的顺序“”, 引擎,params = {lastchecktime}

The query should be as follows for it to work, use ? as placeholder and name the variable in params

sqldf = pd.read_sql_query("SELECT * from ABC, XYZ, LMN, PQR WHERE ABC.id = XYZ.id AND XYZ.TO_CLASS != '827'AND ABC.creation_date > ? ORDER BY ABC.creation_date desc", engine,params={lastCheckTime})

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文