请求查找错误
<cfquery datasource="#dsn#" name="q7">
select media_uuid,media_file_type
,media_by_folder_uid,media_by_user_uid
,media_file_size,substring(media_create_datetime,1,10) as media_create_datetime
from z_media_file_list
where media_file_isdelete = 0
and media_by_folder_uid = <cfqueryparam value="#var1.folder_uid#" cfsqltype="cf_sql_varchar">
and substring(media_create_datetime,1,10)
in ('#arr_updateTime[1]#','#arr_updateTime[2]#','#arr_updateTime[3]#','#arr_updateTime[4]#','#arr_updateTime[5]#')
</cfquery>
<cfdump var="#q7#">
<cfloop list="#arraytolist(arr_updateTime)#" index="i">
<cfoutput>#i#</cfoutput>
<cfquery dbtype="query" name="q7_0">
select media_uuid,media_file_type,media_create_datetime
from q7
where q7.media_file_type = '0'
and q7.media_create_datetime = '#i#'
</cfquery>
<cfdump var="#q7_0#">
</cfloop>
[解决办法]
我说明下:这个程序运行是正常的。但是结果<cfdump var="#q7_0#">是空。正确的话loop内<cfdump var="#q7_0#">一定有值得,我经过数据库对比过的。出错的地方是 and q7.media_create_datetime = '#i#' 这个句话。但这个条件我怎么看都是正确的呀。请高手帮忙找找原因。谢谢
[解决办法]
另外说明:
media_create_datetime在表z_media_file_list内的格式是2008-10-08 10:10:10
substring(media_create_datetime,1,10) as media_create_datetime 因需求,用这个截取之后得到的结果是2008-10-08
arr_updateTime是一个用来存放日期的,格式为2008-10-08这样的。
定义如下:
<cfset arr_updateTime = arraynew(1)>
而<cfloop list="#arraytolist(arr_updateTime)#" index="i">
<cfoutput>#i# </cfoutput>
<cfquery dbtype="query" name="q7_0">
select media_uuid,media_file_type,media_create_datetime
from q7
where q7.media_file_type = '0'
and q7.media_create_datetime = '#i#'
</cfquery>
<cfdump var="#q7_0#">
</cfloop>
这个loop的作用是根据arr_updateTime里面的日期对比q7得到的日期,逐一得到对应的数据。
[解决办法]
表z_media_file_list内的数据大概如下:
media_uuid media_file_type media_create_datetime
0001 0 2008-10-01 10:10:10
0002 1 2008-10-01 12:20:08
0003 0 2008-10-01 18:20:10
0004 0 2008-10-03 09:20:10
0005 2 2008-10-04 16:20:18
0006 0 2008-10-05 15:10:10
0007 1 2008-10-05 19:22:10
0008 0 2008-10-05 22:10:20
0009 0 2008-10-05 23:02:18
0010 0 2008-10-06 10:20:10
我的目的是需要查找出比如2008-10-05这一天,media_file_type=0 的时候。对应的数据。
[解决办法]
and q7.media_create_datetime = '#dateformat(i,"yyyy-mm-dd")#'
[解决办法]
media_create_datetime是varchar(20)類型哦
[解决办法]
謝謝大家關注,那個問題我已經解決了.我用and q7.media_create_datetime like '%#i#%'就正確了.
[解决办法]
謝謝大家關注,那個問題我已經解決了.我用and q7.media_create_datetime like '%#i#%'就正確了.