MS Access - выберите Char в качестве даты и введите разницу в дате - PullRequest
0 голосов
/ 21 мая 2009

У меня есть две колонки. ColA и ColB содержат char (10) с данными «20090520» и «20090521».

Я хочу выбрать и получить разницу в днях. Я попытался с помощью Format () и CDate () но MS Access всегда отображается как # ОШИБКА.

Ответы [ 4 ]

3 голосов
/ 21 мая 2009

Access предпочитает свои даты в этом формате:

#2009-12-01#

Вы можете преобразовать свою дату во что-то, что Access понимает с помощью:

CDate(Format([ColA], "0000-00-00"))

Или альтернативно:

DateSerial(Left([ColA],4),Mid([ColA],5,2),Right([ColA],2))

И для отображения результата в предпочитаемом формате:

Format(<date here>, "dd-mm-yyyy")
1 голос
/ 21 мая 2009

Попробуйте использовать DateSerial () для преобразования дат:

DateSerial(Left([FieldName],4),Mid([FieldName],5,2),Right([FieldName],2))
0 голосов
/ 22 мая 2009

Я подключаюсь к другой базе данных, которую я не могу контролировать. Вот почему эта проблема возникла. Спасибо за отзыв.

0 голосов
/ 21 мая 2009

Если это вообще возможно, измените тип данных на тип данных date. Вы не должны хранить даты как символьные данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...