Выражение BETWEEN требует указания обоих параметров, поэтому запрос с одним параметром выдаст ошибку. Самое простое - для отсутствующих параметров указывать заменители, например '1980-01-01 00:00:00' для начала и '2100-12-31 59:59:59' для конца.
Поскольку поля имеют тип DATETIME, то для поиска по датам лучше использовать форматы 'Y-m-d 00:00:00' для начала интервала и 'Y-m-d 23:59:59' для конца интервала.
Ну и в целом, ваше выражение эквивалентно
learnings.start_date >= :date1 AND learnings.finish_date <= :date2