查詢示例:
<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 查詢......
我錯過了什么?
uj5u.com熱心網友回復:
其中 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,請參閱:
- BETWEEN 和魔鬼有什么共同點?
- 負責任地約會
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/459054.html
