Coldfusion MYSQL日期查询参数不返回结果

时间:2014-02-03 02:11:08

标签: mysql coldfusion coldfusion-9 cfquery cfqueryparam

我刚刚遇到了我认为必须是冷冻虫的事情。

我有一个问题:

<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变量是coldfusion dateTime对象。 CallTime是MariaDB中的dateTime列。

1 个答案:

答案 0 :(得分:4)

尝试使用cfsqltype="cf_sql_date"代替&#34; cf_sql_datetime&#34;不是一个有效的选择。请参阅help docs for cfqueryparam