Здравствуйте.
Помогите пожалуйста с такой вот ситуацией. Есть таблица с полями ID, NAME, START_DATE, END_DATE.
В полях START_DATE и END_DATE хранятся соотвественно даты начала и конца какого либо события. Хранятся в формате "%Y%m", например 199905, 200507 и так далее. А если событие на данный момент не завершено, то в столбце END_DATE хранится 0.
Мне надо выбрать все записи c заданным именем, в диапазон которых попадает некая дата.
Делаю так
SELECT id, name FROM tbl WHERE NAME="что_то_там" AND STR_TO_DATE(START_DATE, '%Y%m')>=STR_TO_DATE('200005', '%Y%m') AND STR_TO_DATE(IF(END_DATE=0, DATE_FORMAT(CURRENT_TIMESTAMP, '%Y%m'), END_DATE), '%Y%m') <=STR_TO_DATE('200005', '%Y%m');
Выводит какую то фигню или не выводит ничего. Как правильно сделать такую штуку?