【发布时间】:2012-06-01 15:23:01
【问题描述】:
我从一个查询的查询中有一个名为 AllPosts 的查询。
AllPosts 有两个结果:
Row 1| ID: 2 PublishedDate: 2012-05-30 16:47:00.0
Row 2| ID: 3 PublishedDate: 2012-05-31 15:50:00.0
当我使用
对名为 FilterPosts 的 AllPosts 进行查询时WHERE PublishedDate BETWEEN '2012-05-01 00:00:00' AND '2012-05-31 23:59:00'
(请注意,实际查询是针对这些值执行 cfqueryparam cf_sql_date)
我希望 FilterPosts 与 AllPosts 具有相同的行,但我只得到 ID 2。如果我将 ID 2 的发布日期更改为 2012-05-30 23:59:50.0,FilterPosts 会返回正确的结果。
我也试过了
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 个空格,但它不会保留格式。你做了什么不一样的事!?感谢编辑!
-
两边也需要一个空行——后面有空格,之前没有。
标签: sql date coldfusion between