我正在尝试将今天的变量发送到SQL中,但是它不起作用。
import datetime from date
today = date.today()
stmt = "select agent_email from customer_interaction_fact where to_date(DT) >= + today + ORDER BY CONVERSATION_CREATED_TIME DESC"
答案 0 :(得分:3)
您不必使用Python计算今天的日期。只需使用PostgreSQL函数CURRENT_DATE
:
stmt = "SELECT ... WHERE TO_DATE(DT) >= CURRENT_DATE ..."
答案 1 :(得分:0)
尝试如下
import datetime from date
today = date.today()
stmt = "select agent_email,aht_in_secs,queueid,EFFORTSCORE from facts.public.customer_interaction_fact where agent_email <> 'Bot' and aht_in_secs is not NULL and to_date(DT) >=" + today + "ORDER BY CONVERSATION_CREATED_TIME DESC"
答案 2 :(得分:0)
您正在使用哪个数据库引擎?您需要将python datetime
对象转换为数据库可接受的格式的字符串。
# In case YYYY-MM-DD
today_str = str(today)
stmt = f"""select agent_email
from customer_interaction_fact
where to_date(DT) >= datetime({today}, "YYYY-MM-DD")
order by CONVERSATION_CREATED_TIME DESC"""
另一种解决方案,假设客户端(您的程序)与数据库引擎处于同一时区,则可以使用数据库引擎datetime.now
函数。在SQLite
中,例如datetime('now')