Asp中多个日期,求最大值的问题

jimstory 2008-04-12 02:58:46
表中存有date1到date7,7个日期字段,有可能值为空。jjdate为另一个日期字段,我想在jjdate中存入7个日期中的最大值,不知道怎么实现?求高手帮忙。
rs("date1")=request.Form("date1")
rs("date2")=request.Form("date2")
rs("date3")=request.Form("date3")
rs("date4")=request.Form("date4")
rs("date5")=request.Form("date5")
rs("date6")=request.Form("date6")
rs("date7")=request.Form("date7")
rs("jjdate")=????
...全文
109 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞天神笔 2008-04-12
  • 打赏
  • 举报
回复
7楼的,估计你没注意楼主的代码是从前一个表单传递过来7个日期

而不是你的从数据库中读出最大日期啊。


-----------------------------------------------------------
爱找房(http://www.izfang.com)
 我的个人网站,个人免费的房屋租赁网站,已从技术上防中介在“个人房源”栏捣乱,大家要多多捧场哦。
文盲老顾 2008-04-12
  • 打赏
  • 举报
回复
update tablename as a set jjdate=(select top 1 MaxDate from (select data1 as MaxDate from tablename where id=a.id and not data1 is null union select data2 as MaxDate from tablename where id=a.id and not data2 is null union select data3 as MaxDate from tablename where id=a.id and not data3 is null union ..... ) as b order by 1 desc)
  • 打赏
  • 举报
回复
rs("date1")=request.Form("date1") 
rs("date2")=request.Form("date2")
rs("date3")=request.Form("date3")
rs("date4")=request.Form("date4")
rs("date5")=request.Form("date5")
rs("date6")=request.Form("date6")
rs("date7")=request.Form("date7")
Dim maxDate,tempDate:maxDate=""
For i=1 To 7
If trim(rs("date"&i)&"")<>"" And IsDate(rs("date"&i)) Then'防止为空和不是cdate能转换的类型时防止出错
If maxDate="" Then
maxDate=CDate(rs("date"&i"))
Else
tempDate=CDate(rs("date"&i))
If tempDate>maxDate Then maxDate=tempDate
End If
End If
Next
rs("jjdate")=maxDate
  • 打赏
  • 举报
回复
可以这么用,自己写一个函数比较
hookee 2008-04-12
  • 打赏
  • 举报
回复

<%
arr = Array(#2008-1-3#,#2008-12-2#,#2008-3-4#,#2008-9-8#,#2008-1-1#,#2008-7-6#)
Set rs = CreateObject("ADODB.RecordSet")
rs.CursorLocation=3
rs.Fields.Append "dt",7
rs.Open
For i=0 To UBound(arr)
rs.AddNew
rs("dt") = arr(i)
Next
rs.sort="dt DESC"
rs.MoveFirst
Response.Write "最大:" & rs(0)
rs.Close
Set rs = Nothing
%>
md5e 2008-04-12
  • 打赏
  • 举报
回复
for i=1 to 7
maxday=rs("date" & trim(i))
if maxday<>"" and not isnull(maxday) then
exit for
end if
next

for j=i to 7
if rs("date"& trim(j))<>"" and not isnull(rs("date"& trim(j))) then
if Cdate(rs("date"& trim(j)))>Cdate(maxday) then
maxday=rs("date"& trim(j))
end if
end if
Next
rs("jjdate")=maxday
  • 打赏
  • 举报
回复

function max(info)
arr=split(info,",")
max=cdate(arr(0))
for i=1 to ubound(arr)
if cdate(arr(i))>cdate(max) then
max=cdate(arr(i))
end if
next
end function

str=""&request("date1")&","&request("date2")&","&request("date3")&","&request("date4")&","&request("date5")&","&request("date6")&","&request("date7")&""

rs("jjdate")=max(str)
  • 打赏
  • 举报
回复
转换为日期类型然后比较下

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧