Функция Datediff в Access дает ответ 1 вместо 0 для того же дня

Я пытаюсь получить общее количество дней, нанятых с помощью функции DateDiff.

В настоящее время я использую:

=DateDiff("d",[hired_from],[hired_to])                                     

Чтобы получить разницу между двумя датами, однако, если две выбранные даты совпадают, он выдаст результат 0, я хотел бы, чтобы он выдал результат 1, когда две выбранные даты совпадают, спасибо.


person tomspencer    schedule 07.06.2015    source источник
comment
пожалуйста, опубликуйте полный код   -  person Sourabh Kumar Sharma    schedule 07.06.2015
comment
Это для текстового поля, использующего построитель выражений.   -  person tomspencer    schedule 07.06.2015
comment
Hired_from и Hired_to и краткосрочные типы данных.   -  person tomspencer    schedule 07.06.2015


Ответы (3)


Это не имеет особого смысла, так как разница между двумя одинаковыми значениями всегда будет равна нулю.

Итак, вы, вероятно, имели в виду:

=DateDiff("d",DateAdd("d",-1,[hired_from]),[hired_to])

или просто добавьте один к счету:

=DateDiff("d",[hired_from],[hired_to])+1
person Gustav    schedule 07.06.2015

В итоге я сделал эту работу, используя оператор if, как показано ниже:

==IIf(DateDiff("d",[hired_from],[hired_to])=0,1,DateDiff("d",[hired_from],[hired_to]))
person tomspencer    schedule 08.06.2015

чтобы получить разницу двух дат (которая представляет собой только формат целочисленного значения), вам нужно только вычесть две даты и убедиться, что формат результата является целым числом.

Variable = [hired_to]-[hired_from]
person pia-sophie    schedule 07.06.2015
comment
Ну, но это не решает вопрос. - person Gustav; 07.06.2015
comment
да, но datediff - это неправильный путь, ему должно быть позволено показать лучший путь, если кто-то идет в неправильном направлении, не будучи проголосованным, мило с вашей стороны - person pia-sophie; 10.06.2015