读书人

access 时间函数应用有关问题

发布时间: 2012-04-06 12:22:24 作者: rapoo

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)

读书人网 >Access

热点推荐