Как добавить или использовать функцию MAX в поле Date, содержащем функцию DateSerial, для запроса самой последней даты? - PullRequest
0 голосов
/ 18 января 2012

Я использую функцию 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.Все работает, однако мне нужно добавить функцию MAX или найти способ получить самую последнюю версию APP_DATE.

Как добавить функцию MAX или какую функцию можно использовать, чтобы при наличии двух APP_DATESЯ получаю самые последние?

Спасибо всем!

1 Ответ

1 голос
/ 18 января 2012

Это изменится в зависимости от того, что вам действительно нужно сделать. Если это единственный столбец, который вам нужно запросить, вы должны сделать следующее:

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([AP‌​P_D‌​‌​ATE],2)))) AS Application FROM tablename GROUP BY col1, col2;

Есть ли причина, по которой вы храните его как текстовый тип, а не как DateTime?

...