我有一個頁面,我想運行一些使用ColdFusion和SQL Server數據庫的報告。2個日期之間的查詢記錄
這裏是我的形式:
<cfform name="dateRange" action="" method="POST">
<label>Date From</label><br>
<cfinput type="DateField" name="dFrom" mask="DD/MM/YYYY">
<label>Date To</label><br>
<cfinput type="DateField" name="dTo" mask="DD/MM/YYYY">
<cfinput type="submit" value="Submit" name="Submit">
</cfform>
<hr>
<cfif isDefined("form.submit")>
<cfinclude template="data-p.cfm">
</cfif>
的數據p.cfm文件看起來像這樣:
<cfset fromDate = #CREATEODBCDATETIME(#form.dFrom#)#>
<cfset toDate = #CREATEODBCDATETIME(#form.dTo#)#>
<cfquery name="t">
SELECT id, type, started
FROM t_users
WHERE started >= #fromDate#
AND started <= #toDate#
ORDER BY started
</cfquery>
<cfdump var="#t#">
然而,問題是它轉儲出所有的記錄,並且不應用日期過濾器。當我轉儲查詢時,它會轉儲數據庫中的所有記錄。即使SQL轉儲狀態,它也會忽略WHERE語句:
SELECT id, type, started
FROM t_users
WHERE started >= {ts '2017-01-06 00:00:00'}
AND started <= {ts '2017-08-06 00:00:00'}
ORDER BY started
任何想法?
當您執行查詢的轉儲時,它看起來像什麼? – snackboy
當我轉儲查詢時,它會轉儲數據庫中的所有記錄。它忽略了WHERE語句,即使SQL轉儲狀態爲: 'select id,type,start from t_users where started> = {ts'2017-01-06 00:00:00'}並開始<= {ts'2017- 08-06 00:00:00'} ORDER BY started' –
什麼是在結果中返回的範圍之外的'started'值的例子?另外,當你從ssms運行sql時會發生什麼? –