2015-03-09 3 views
0

Я использую коннектор python и mysql и пытаюсь получить все eventids из базы данных mySQL между двумя разными датами времени.mySQL Выбор между двумя DATETIME

БД является

eventid | date | homeodds | drawodds | awayodds 

Это код:

def findarbs(startdate, enddate): 
cnx = mysql.connector.connect(**dbconfig) 
cur = cnx.cursor() 
command = "SELECT DISTINCT eventid, date FROM moneyline 
       WHERE 'date' > ('%s') AND 'date' < ('%s') 
       ORDER BY date asc" % (startdate, enddate) 
print command 
cur.execute(command) 
result = cur.fetchone() 
print result 
while result is not None: 
    print result[1] 
    result = cur.fetchone() 

И вызов метода:

findarbs("2015-03-01 15:00:38", "2015-03-08 15:00:38") 

Теперь, если я сменю команду:

command = "SELECT DISTINCT eventid, date FROM moneyline 
       WHERE 'date' > ('%s') 
       ORDER BY date asc" % (startdate) 

он успешно выбирает правильные события и даты. Если я изменю его на меньшее, чем это работает. Но когда я пытаюсь объединить их или использовать команду BETWEEN, я получаю NONE назад.

+0

Код выглядит хорошо. Вы уверены, что существуют фактические записи в БД, которые находятся между этим диапазоном дат? – dursk

+0

Да, я уверен, что есть. Это то, на что я надеялся, было бы легко исправить. –

+0

Проблема имела дату в «Я удалил», и теперь он работает. Мне действительно нужно переименовать столбец даты. –

ответ

1

Неправильный тип кавычек:

'date' 

->

`date` 

'date' является строкой, которая вычисляется как 0.

Кроме того, не то, что ни один: 38 захватывается> и <.

Смежные вопросы