如何在python变量中使用sql查询的日期使用日期
我有一个看起来像这样的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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
查询应该如下工作,使用吗?作为占位符并命名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})