Member 14760154 Ответов: 2

Как получить разницу между двумя часами, без отрицательного значения


У меня есть проблема с запросом


я хочу получить разницу между двумя часами


пример

SELECT DATEDIFF(HOUR, '09:00:00', '10:00:00') AS [Durée en Seconds]


в результате получается "1"

но когда я использую этот запрос
SELECT DATEDIFF(HOUR, '10:00:00', '09:00:00') AS [Durée en Seconds]


Что я уже пробовал:

Как я могу получить разницу в час ,всегда в положительном значении

Я бы хотел, чтобы результат в seconde query был "1"

Как я могу решить эту проблему?

2 Ответов

Рейтинг:
13

Patrice T

Цитата:
Как я могу получить разницу в час ,всегда в положительном значении

Вы пробовали ABS() (функция абсолютного значения) ?


Member 14760154

да,я это сделал, и это успешно,

теперь проблема решена

Patrice T

Вы также можете принять решение, оно закроет вопрос и скажет всем, что этот вопрос отклонен.

CPallini

5.

Patrice T

Спасибо

MadMyche

+5, и упоминается в моем ответе

Patrice T

Спасибо

Рейтинг:
0

MadMyche

Если Вы читаете документацию по функция DateDiff[^] функция, вы увидите, что использование является
DATEDIFF ( datepart , startdate , enddate )

Если Начальная дата перед Дата окончания, результат будет положительным числом.
Если Начальная дата произошло после того, как Дата окончания, результат будет отрицательным.

Если вам всегда нужно положительное число, то вы используете Брюшной пресс[^] функция, описанная ниже Патрис
И если вы всегда хотите отрицательное число; тогда вы используете Брюшной пресс функция и умножить на -1.

Рекомендации:
DATEDIFF (Transact-SQL) - SQL Server | Microsoft Docs[^]
ABS (Transact-SQL) - SQL Server | Microsoft Docs[^]