DateDiff为什么这样就取不到我想要的数据呢?
话说我有这样的一个表格(SQL Server 2000):id YouXiaoQi(有效期)
1 2012-01-02
2 2012-01-23
3 2012-01-13,2013-05-13
4 2012-01-13,2013-05-13,2015-10-18
5 2012-01-13
6 2016-12-13
... ...
注:
NowStr=Year(now())&"-"&Right("0"&Month(now()),2)&"-"&Right("0"&Day(now()),2)'格式化日期格式为2012-02-13形式,不知道有没有用。
就是说有效期中字段中的时间不是定数,可以只有一个,最多可能有6个,不过都是由","分割,就是产品的到期时间。
我想用DateDiff取出截止到今天还有一个月就到期的数据。
如果有效期字段都是一个时间,那就很好解决了:
select id from 表格 where DateDiff(day,'"&NowStr&"',YouXiaoQi)<30 order by id asc
由于有效期字段可能不是一个,于是我想起来了:
曾经有个可以取数组中最大值的函数:
程序代码:
function GetMax(str) num=split(str,",") max=num(0) for ii=0 to ubound(num) if num(ii)>max then max=num(ii) next GetMax=max end function
于是我就:
Sql="select id from 表格 where DateDiff(day,'"&NowStr&"','"&GetMax(YouXiaoQi)&"')<30 order by id asc"
可是,我木有成功......
我想这个问题只有神仙才可以解决,于是我就在这里等神仙的到来......