Совсем уже позабыл что и как. Нужна ваша помощь, товарищи.
У меня на входе есть диапазон дат начала звонков:
start = 26.05.2020
end = 27.05.2020
в БД в таблице CDR есть поле start в формате datetmie
я делаю так:
SELECT * FROM crd WHERE start BETWEEN STR_TO_DATE(:start, '%d.%m.%Y') AND STR_TO_DATE(:end, '%d.%m.%Y')
но вылетает пустой результат.
Посмотрел логи, а там MySQL делает вот что:
SELECT STR_TO_DATE('26.05.2020', '%d.%m.%Y');
Выдает 26.05.2020
а
SELECT start FROM crd;
Выдает 2020-05-26 23:50:22
Потому не идет отбор?
Как мне вообще корректно и чтобы не на индусском коде проверить, входит ли значение поля `start` с типом DATETIME в диапазон дат формата 26.05.2020 и 27.05.2020. С использованием between наверное?
Как вариант я думал написать говнокод, который на PHP преобразует первоначальную дату диапазона из 26.05.2020 в "2020-05-26 00:00:00" а конечную дату в "2020-05-27 23:59:59" а потом сравнивать, но помоему это какая-то дичь.