如果日期少于今天,则将日期列设为“今天”日期

时间:2013-09-30 13:58:43

标签: ms-access ms-access-2013

我目前在访问数据库中有一个查询,它返回以下值。

ItemCode    ComponentReadyDate
5109123 
5113014 
5113035      23/09/2013 
5109121      13/09/2013 
5109122      13/09/2013 
5107000      09/09/2013 
5107000      30/09/2013 
5109088      18/09/2013 
5109092      24/09/2013 
5109092      28/10/2013 
5109110 
5109110      31/07/2013 
5101002A    
5102412      02/10/2013 
5102412      03/09/2013 

有没有办法可以修改此查询,以便如果ComponentReadyDate在今天的日期之前,它会更改为今天的日期;

ItemCode    ComponentReadyDate
    5109123      30/09/2013
    5113014      30/09/2013
    5113035      30/09/2013
    5109121      30/09/2013 
    5109122      30/09/2013 
    5107000      30/09/2013
    5107000      30/09/2013
    5109088      30/09/2013 
    5109092      30/09/2013 
    5109092      28/10/2013 
    5109110      30/09/2013
    5109110      30/09/2013
    5101002A     30/09/2013
    5102412      02/10/2013 
    5102412      30/09/2013 

1 个答案:

答案 0 :(得分:2)

此查询似乎可以解决问题:

SELECT
    ItemCode,
    Switch(IsNull(oldReadyDate),Date(),oldReadyDate<Date(),Date(),True,oldReadyDate) AS ComponentReadyDate
FROM 
    (
        SELECT 
            ItemCode,
            ComponentReadyDate AS oldReadyDate
        FROM
            Components
    )