这是我的查询。在Coldfusion中比较日期时间值,而不是日期CFQUERY
<cfquery name="qryname" datasource="dsn">
UPDATE ticketlist
SET status = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="Expired">
WHERE expdatetime <
<cfqueryparam value = "#yourDate#" cfsqltype = "CF_SQL_DATE" maxLength = "19">
</cfquery>
它能够给我所有谁是expdatetime小于#yourdate#的结果,唯一的问题是,它只能说明我是谁的区别是一整天的结果,而不是那些谁的区别是在分钟。因此,expdatetime的差异小于#yourtime#by min's将不会显示在结果中,除非差距至少有一天。
如何针对最小精度对此查询进行优化?
我知道可能使用的两个函数,DateCompare的DateDiff &,但我不知道如何在查询中应用它们。
DateDiff的( “日期部分”, “日期1”, “日期2”)
DateCompare( “DATE1”, “DATE2”[ “日期部分”])
DATEPART精密
* s Precise to the second
* n Precise to the minute
* h Precise to the hour
* d Precise to the day
* m Precise to the month
* yyyy Precise to the year
任何帮助将不胜感激。
我相信这是正确的。通过使用CF_SQL_DATE,可以消除时间信息,因此数据库服务器必须比较的所有内容都是日期信息;因此最准确的可能是一天。如果你包含时间信息,那么它将在计算中使用它。 – 2010-06-28 11:39:15
这解决了它。不胜感激! – Nich 2010-07-03 17:43:48