1

我正在尝试使用重新格式化为特定日期的时间戳字段 (yyyy-mm-dd HH:mm:ss) 在 Coldfusion 中查询查询。我可以很好地将原始查询转换为“日期格式”,但我无法通过查询查询来选择日期。我尝试将 cf_sql 查询参数更改为不同的值,但我一直得到 0 RecordCount。db 字段是一个 varchar,我尝试将其更改为时间戳,但它仍然不起作用。有什么我没有看到的想法吗?

<cfquery datasource="#DataSource#" name="rsAll">
  SELECT ID, date_format(DateSent, '%Y-%m-%d') As DateSent 
  FROM 'workorders'
  WHERE RelCompID_FK = '#SESSION.Auth.CompID#' 
</cfquery>

<cfquery name="rsAllDay" dbtype="query">
  SELECT *
  FROM rsAll
  WHERE  DateSent  = <cfqueryparam value="2010-03-03" cfsqltype="cf_sql_date">
</cfquery>
4

1 回答 1

2

MySQLdate_format()函数返回一个字符串,而不是日期时间对象,因此在 ColdFusion 中运行查询时,您将使用CF_SQL_VARCHAR数据类型而不是CF_SQL_DATE数据类型。传入的值也需要与第一个查询返回的值完全匹配才能匹配。

其他注意事项:

1)CFDUMP用于显示第一个查询的结果,以确保返回的数据类型是您所期望的。

2)CFQUERYPARAM在第一个查询的 WHERE 子句中使用。

于 2012-01-01T22:35:39.190 回答