(Слишком долго для комментариев...)
Поскольку вы упомянули, что являетесь новичком в CF, небольшой справочный материал о том, как CF обрабатывает запросы к базе данных, может помочь понять, почему произошла ошибка и какие типы действий вы можете (и не можете) делать в cfquery.
Хотя CF может взаимодействовать с механизмом базы данных, они совершенно разные и говорят на совершенно разных языках. Тот факт, что вы можете смешивать CFML и SQL в теге cfquery, создает ложное впечатление, что функции CF могут работать с объектами базы данных (или наоборот). Они не могут. Сервер CF ничего не знает об объектах базы данных (и ядро базы данных не понимает CFML). Любой код CFML в теге запроса обрабатывается сначала — на сервере CF. Затем сгенерированный SQL отправляется в механизм базы данных и выполняется отдельно.
Когда сервер CF встречает запрос к базе данных, он анализирует содержимое тега, ища переменные или выражения CFML, которые должны быть оценены, т. е.:
SELECT Column FROM Table WHERE ColA = '#form.someField#' AND ColB = '#form.otherField#'
Затем он преобразует эти переменные и выражения в буквальные значения, т.е. строки, числа и т.д. Наконец, CF передает сгенерированную строку SQL механизму базы данных для выполнения, т.е.:
SELECT Column FROM Table WHERE ColA = 'John Smith' AND ColB = 'ABC'
Таким образом, причина, по которой CF задыхается от #DateFormat(w.start_date, "m")#
, заключается в том, что он не понимает, что w.start_date
относится к столбцу базы данных. Он считает, что это имя переменной CF: в частности, структуры с именем «w», содержащей ключ «start_date». Очевидно, что таких переменных не существует. Отсюда и неопределенная ошибка.
person
Leigh
schedule
01.09.2016
MONTH()
- person Sterling Archer   schedule 31.08.2016