我尝试使用 ColdFusion QOQ 执行以下代码,但它没有检索任何记录。我使用“HH:mm”格式的时间并使用 MySQL 作为后端,原始时间列的数据类型为“TIME”。
<cfquery dbtype="query" name="getCount">
SELECT count(*) as mycount
FROM getExams
WHERE start_time <= <cfqueryparam cfsqltype="cf_sql_time" value="#curr_time#">
</cfquery>
我能够使用 <cfqueryparam>
成功比较日期值。但是,它不适用于时间列。有人可以帮忙吗?
更新:
对于此问题有一个开放的错误报告。请参阅bug #3551866
最佳答案
即使经过多个小时的努力,我仍无法找到一种简单的方法来比较 ColdFusion QOQ 中的时间值。因此,这是我使用的解决方法:
第 1 步
要检索具有时间数据类型的数据库列,请使用格式 hhmmss。
例如。就我的 MySQL 而言,我使用了:
CONVERT(DATE_FORMAT(db_time_col, '%H%i'), UNSIGNED INTEGER) as db_time_col
第 2 步
在 ColdFusion QOQ 中,将时间值转换为与步骤 1 中使用的格式相同的格式。
例如。就我而言,它是:<cfqueryparam cfsqltype="cf_sql_integer" value="#timeFormat(cf_time_col, 'HHmm')#">
关于mysql - ColdFusion QOQ,比较时间值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16207670/