我刚刚遇到了我认为一定是coldfusion错误。
我有一个查询:
<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 变量是冷融合日期时间对象。CallTime 是 MariaDB 中的 dateTime 列。