请考虑以下代码(在我之前的线程Playing around with date range in ColdFusion 8的上下文中)。
<cfparam name="Form.startdate" default="#dateformat(now()-5, 'mm/dd/yyyy')#">
<cfparam name="Form.enddate" default="#dateformat(now()-1, 'mm/dd/yyyy')#">
<cfparam name="Form.selectdate" default="#dateformat(now(), 'mm/dd/yyyy')#">
<cfinput type="dateField" name="startdate" label="Start Date" width="100" value="#Form.startdate#">
<cfinput type="dateField" name="enddate" label="End Date" width="100" value="#Form.enddate#">
<cfinput name="submit" type="submit" value = "Apply">
<cfinput name="cancel" type="submit" value="Download CSV">
我有以下问题:
1)当用户从日历中选择一个日期(开始日期)时,日期是否会自动传递到下一行的“值”字段?
<cfinput type="dateField" name="startdate" label="Start Date" width="100" value="#Form.startdate#">
如果上述情况属实,那么我相信同样的事情也适用于结束日期。
2)关于SQL查询:
假设我正在编写以下查询(请注意,“UpdatedDate”是我将从中提取“startdate”和“enddate”的列的名称:
<cfquery datasource = "XX.XX.X.XX" name="qMyDatabase">
SELECT(SELECT count(*) FROM MyDatabase) AS TOTAL_CONNECTIONS,
(SELECT count(*) FROM MyDatabase WHERE event_vc = "OPEN" AND UpdatedDate BETWEEN #Form.startdate# AND #Form.enddate# ) AS OPEN_CONNECTIONS,
(SELECT count(*)FROM MyDatabase WHERE event_vc = "BOUNCE" AND UpdatedDate BETWEEN #Form.startdate# AND #Form.enddate#) AS BOUNCE_CONNECTIONS,
(SELECT count(*) from MyDatabase where event_vc = "DEFERRED" AND UpdatedDate BETWEEN #Form.startdate# AND #Form.enddate#) AS DEFERRED_CONNECTIONS,
(SELECT count(*) from MyDatabase where event_vc = "DELIVERED" AND UpdatedDate BETWEEN #Form.startdate# AND #Form.enddate#) AS DELIVERED_CONNECTIONS,
(SELECT count(*) from MyDatabase where event_vc = "DROPPED" AND UpdatedDate BETWEEN #Form.startdate# AND #Form.enddate#) AS DROPPED_CONNECTIONS,
(SELECT count(*) from MyDatabase where event_vc = "PROCESSED" AND UpdatedDate BETWEEN #Form.startdate# AND #Form.enddate#) AS PROCESSED_CONNECTIONS,
(ROUND((SELECT OPEN_CONNECTIONS / (TOTAL_CONNECTIONS))*100)) AS "OPEN",
(ROUND((SELECT DEFERRED_CONNECTIONS / (TOTAL_CONNECTIONS))*100)) AS "DEFERRED",
(ROUND((SELECT DELIVERED_CONNECTIONS / (TOTAL_CONNECTIONS))*100)) AS "DELIVERED", (ROUND((SELECT DROPPED_CONNECTIONS / (TOTAL_CONNECTIONS))*100)) AS "DROPPED", (ROUND((SELECT PROCESSED_CONNECTIONS / (TOTAL_CONNECTIONS))*100)) AS "PROCESSED";
</cfquery>
请让我知道上述查询是否正确?
3)关于日期格式。
如上所述,我正在使用面具
月/日/年
上面,而我数据库中的列(UpdatedDate)使用不同的格式
(YYYY/MM/DD HH:MI:SS)
. 它会产生任何问题吗?