Реальная проблема вызвана размещением в вашем запросе встроенных литералов даты / даты и времени. Вы могли бы решить эту непосредственную проблему, поместив одинарные кавычки вокруг start_date_time
, но лучшим долгосрочным решением было бы использование подготовленного выражения:
sql = "select inserted_at, id1, id2, id3 from data where inserted_at between ? and ? and id1 like '%E%'"
cur = conn.cursor()
cur.execute(sql, (start_date_time, end_date_time,))