Я только что наткнулся на то, что, по моему мнению, должно быть ошибкой coldfusion.ColdFusion MYSQL Date Query Параметр, не возвращающий результаты
У меня есть запрос:
<cfquery name="qryTest" datasource="#This.ds#">
SELECT *
FROM MyLovelyTable
WHERE 1=1
AND phoneNumber = <cfqueryparam cfsqltype="cf_sql_bigint" value="#variables.phoneNumber#">
AND callTime between <cfqueryparam cfsqltype="cf_sql_date" value="#variables.startDate#"> AND <cfqueryparam cfsqltype="cf_sql_date" value="#variables.endDate#">
ORDER BY phoneID
</cfquery>
Проблема заключается в том, что если бы я пройти через вторую дату переменного ничего не возвращается. Если я скопирую префикс запроса SQL и параметры выйду и запрошу базу данных, то сразу будут возвращены результаты. Его просто, когда он проходит через CF, что он не работает. Если я удаляю второй параметр даты, он отлично работает. И если я преобразую второй параметр даты в строку, он будет работать.
Я попытался заменить значение второго параметра на now(), который тоже не работает.
Насколько я могу судить, проблема заключается в том, что вторым параметром даты является тип даты.
Я делаю что-либо явно неправильное, о котором я не знаю?
Переменные startDate и endDate являются объектами dateTime coldfusion. CallTime - это столбец dateTime в MariaDB.
Как указано ниже, cf_sql_datetime не является допустимым типом. Допустимые типы даты/времени: 'cf_sql_date' (только дата) и' cf_sql_timestamp' (дата и время). Однако правильное выражение зависит от того, какие значения вы сравниваете. Являются ли значения «callTime» только датами или содержат дату и время? Если они содержат только даты, то переход на 'cf_sql_date' будет делать трюк. В противном случае вам понадобится другое выражение. – Leigh
@Leigh using cf_sql_timestamp не имеет значения. использование cf_sql_date не имеет значения. Как уже упоминалось в моем вопросе, выражение SQL прекрасно, оно работает, когда я передаю его в базу данных с параметрами запроса, которые отображаются в объекте запроса. Объекты даты также включают элементы времени. – Rumpleteaser
@ Laura - Вы только дали нам часть картины. Нам нужно увидеть: a) фактические значения переменных: # startDate # и # endDate # b) выборка значений 'callTime' и c)« хорошие »результаты, когда вы *« переносите их в базу данных » – Leigh