Есть поле Dt с типом Date/Time в котором сохраняется значение текущего момента времени
dd.mm.yyyy hh:mm:ss
01.02.2009 23:25:01 (Для примера)
Фак читал, но есть вопросы, почему форматным символом для обозначения минут в факе является nn, а в хелпе mm?
Кроме того, как корректно отобрать из данного поля записи за день?
Вариант первый:
Конвертировать в строку
WHERE Format(Dt,'dd.mm.yyyy')='01.02.2009'
Но наверное некорректно!Но вариант рабочий!
Вариант второй, указать диапазон
WHERE Dte Between '#' & Format(Cdate('01.02.2009 00:00:00'),'mm\/dd\/yyyy hh:nn:ss') & '#' AND '#' & Format(Cdate('01.02.2009 23:59:59'),'mm\/dd\/yyyy hh:nn:ss') & '#'
Вроде бы вариант корректный но не работает, подскажите почему? Может просто надо отформатировать поле: Format(Dte,'mm\/dd\/yyyy hh:nn:ss')?
Вариант третий, работать все же не с текстом, а с датой:
WHERE Cdate(Format(Dte,'dd.mm.yyyy'))='#' & Format(Cdate('01.02.2009'),'mm\/dd\/yyyy') & '#'
Вроде бы вариант корректный но не работает, подскажите почему?
Я так понимаю в поле DateTime сохраняется полное значение даты и времени, даже если например при инсерте время не указывается, то записывается 00:00:00 - полночь, то есть например мы записали 01.01.2009, а реально хранится 01.01.2009 00:00:00?