我使用DateSerial函数转换列上的日期,如下所示:
(DateSerial(CInt(Left([EXAMPLE_TBL.APP_DATE],4)),CInt(Mid([EXAMPLE_TBL.APP_DATE],5,2)),
CInt(Right([EXAMPLE_TBL.APP_DATE],2)))) AS Application_Date
日期来自Oracle链接表,该表在Access中为text数据类型。一切正常,但是,我需要添加MAX函数或找到一种方法来获取最新的APP_DATE。
如何添加MAX函数或我可以使用哪些函数,这样如果有两个APP_DATES,我会得到最新的?
谢谢大家!
答案 0 :(得分:1)
这将根据您真正需要完成的内容而改变。如果这是您需要查询的唯一列,那么您应该能够:
SELECT MAX((DateSerial(CInt(Left([EXAMPLE_TBL.APP_DATE],4)),CInt(Mid([EXAMPLE_TBL.APP_DATE],5,2)),
CInt(Right([EXAMPLE_TBL.APP_DATE],2))))
AS Application_Date FROM EXAMPLE_TBL;
另一方面,如果您需要查询多个列,则需要尝试以下方法:
SELECT col1, col2, MAX(DateSerial(CInt(Left([APP_DATE],4)),CInt(Mid([APP_DATE],5,2)),CInt(Right([APP_DATE],2)))) AS Application FROM tablename GROUP BY col1, col2;
是否有理由将其存储为文本类型而非DateTime?