将时间戳转换为日期 ColdFusion HQL SQL 服务器
Convert timestamp to date ColdFusion HQL SQL Server
查询示例:
<cfquery name="jkgh" dbtype="hql">
SELECT COUNT(production_status_id)
FROM production s
where convert(varchar(10),s.production_end,111) =
'#dateformat(now(),"yyyy/mm/dd")#'
</cfquery>
我正在尝试将 'production_end' 时间戳转换为日期格式(任何格式都可以没有时间)以便与今天的日期进行比较。
我已经尝试了所有我能找到的转换方法,但到目前为止都出现了错误。
如果这不可能,那么我将不得不更改数据库结构以包含两个带有日期和时间戳的单独字段...或者放弃 Hibernate 并编写一个 SQL 查询...
我错过了什么?
where convert(varchar(10),s.production_end,111) = '#dateformat(now(),"yyyy/mm/dd")#'
您应该不需要修改日期列。 (另外,通常不鼓励这种类型的比较,因为它不是 sargable)。返回带有今天日期的行的标准方法是使用:
WHERE production_end >= {TodaysDateAtMidnight}
AND production_end < {TomorrowsDateAtMidnight}
... 或者换句话说
WHERE production_end >= '2022-04-15' -- Today is April 15, 2022
AND production_end < '2022-04-16'
如果您想使用 BETWEEN,请参阅:
查询示例:
<cfquery name="jkgh" dbtype="hql">
SELECT COUNT(production_status_id)
FROM production s
where convert(varchar(10),s.production_end,111) =
'#dateformat(now(),"yyyy/mm/dd")#'
</cfquery>
我正在尝试将 'production_end' 时间戳转换为日期格式(任何格式都可以没有时间)以便与今天的日期进行比较。
我已经尝试了所有我能找到的转换方法,但到目前为止都出现了错误。
如果这不可能,那么我将不得不更改数据库结构以包含两个带有日期和时间戳的单独字段...或者放弃 Hibernate 并编写一个 SQL 查询...
我错过了什么?
where convert(varchar(10),s.production_end,111) = '#dateformat(now(),"yyyy/mm/dd")#'
您应该不需要修改日期列。 (另外,通常不鼓励这种类型的比较,因为它不是 sargable)。返回带有今天日期的行的标准方法是使用:
WHERE production_end >= {TodaysDateAtMidnight}
AND production_end < {TomorrowsDateAtMidnight}
... 或者换句话说
WHERE production_end >= '2022-04-15' -- Today is April 15, 2022
AND production_end < '2022-04-16'
如果您想使用 BETWEEN,请参阅: