access 时间函数应用问题
现在有一个table 里面有三个字段
date1 ,date2,newdate
说明:date1,date2中有时间数据,newdate中没有时间数据。现在要使用update语句实现这样的要求,首先比较date1,date2两个字段中的时间数据,取距离当前系统时间最近的那个时间数据,然后update到newdate中去
在ms sql server 2000中使用的
update table set newdate= case abs(datediff(dd,getdate(),date1))> abs(datediff(dd,getdate(),date2)) then date1 else date2 end;
这样的语句在sql server 2000 中可以正常运行。到了access中就提示没有 case then 这样的语法,同时也提示没有getdate()这样的时间函数,因为没有使用过access这样的桌面小型数据库,不知道如何解决,请知道的大虾指导一下,最好给出符合access语法规范的 sql 语句
------解决方案--------------------case-> iif
getDATE-> NOW() OR DATE()
------解决方案--------------------SQL Server中的case when 对应access中的iif()
SQL Server中的getdate() 对应access中的date()
改为如下:
update 表名 set
newdate= iif(abs(datediff( "d ",date(),date1))> abs(datediff( "d ",date(),date2)),date1,date2)