我有一個來自查詢查詢的AllPosts查詢。Coldfusion查詢查詢丟失日期結果BETWEEN子句
AllPosts有兩種結果:使用
WHERE PublishedDate BETWEEN '2012-05-01 00:00:00' AND '2012-05-31 23:59:00'
Row 1| ID: 2 PublishedDate: 2012-05-30 16:47:00.0
Row 2| ID: 3 PublishedDate: 2012-05-31 15:50:00.0
當我做一個查詢的查詢上AllPosts稱爲FilterPosts(請注意,實際的查詢做cfqueryparam cf_sql_date這些值)
我期望FilterPosts與AllPosts具有相同的行,而我只能獲得ID 2.如果將ID 2的發佈日期更改爲2012-05-30 23:59:50.0
,則Fil terPosts返回正確的結果。
我也曾嘗試
WHERE PublishedDate >= '2012-05-01 00:00:00'
AND PublishedDate <= '2012-05-31 23:59:00'
也有一些是與5月31日特別奇怪。
我在這裏拉我的頭髮!謝謝!
我試圖從頭構建原始查詢,奇怪的是,結果相同!
<cfset test = queryNew("Name,PublishedDate", "VarChar, Time")>
<cfset queryAddRow(test)>
<cfset querySetCell(test,"PublishedDate","2012-05-30 16:47:00.0")>
<cfset querySetCell(test,"Name","First Entry")>
<cfset queryAddRow(test)>
<cfset querySetCell(test,"PublishedDate","2012-05-31 15:47:00.0")>
<cfset querySetCell(test,"Name","Second Entry")>
<cfset StartDate = CreateDate(2012, 5, 1)>
<cfquery name="filter" dbtype="query">
SELECT Name, PublishedDate
FROM test
WHERE 1=1
AND PublishedDate >= <cfqueryparam value="#StartDate#" cfsqltype="cf_sql_date">
AND PublishedDate <= <cfqueryparam value="#DateAdd('n', -1, DateAdd('m', 1, StartDate))#" cfsqltype="cf_sql_date">
</cfquery>
Filter的結果只有'FirstEntry',而不是兩者都應該。
儘管在我的所有代碼行前放了4個空格,但它不會保存格式。你做了什麼不同!?感謝您的編輯! – Danomite
你也需要一個空白行 - 你之後有空白,但沒有空白。 –