Oracle - лучший оператор SELECT для получения разницы в минутах между двумя столбцами DateTime?
Я пытаюсь выполнить довольно сложный запрос 9X_oracle на отчет от клиента, и мне нужно найти его, чтобы 9X_sql-select получить разницу между двумя столбцами DateTime 9X_sql-syntax за считанные минуты. Я пытался использовать 9X_datediff усечение и округление с различными formats и, похоже, не 9X_sql-syntax могу придумать комбинацию, которая имеет 9X_oracle смысл. Есть ли элегантный способ сделать 9X_select-statement это? Если нет, есть ли какой-нибудь способ сделать это?
Ответ #1
Ответ на вопрос: Oracle - лучший оператор SELECT для получения разницы в минутах между двумя столбцами DateTime?
SELECT date1 - date2 FROM some_table
возвращает разницу в днях. Умножьте на 24, чтобы 9X_sql-syntax получить разницу в часах, и на 24 * 60, чтобы 9X_oracle получить минуты. Итак
SELECT (date1 - date2) * 24 * 60 difference_in_minutes FROM some_table
должно быть то, что 9X_oracle вы ищете
- @KanagaveluSugumar - Oracle `DATE` всегда имеет год, месяц, день, час, минуту и второй компонент. Вычитание двух дат вернет результат только в том случае, если они относятся к одному году, одному ме ...
Ответ #2
Ответ на вопрос: Oracle - лучший оператор SELECT для получения разницы в минутах между двумя столбцами DateTime?
По умолчанию вычитание даты Oracle возвращает 9X_sql-query результат в количестве дней.
Так что просто 9X_datediff умножьте на 24, чтобы получить # часов, и 9X_sql-select еще раз на 60 для # минут.
Пример:
select round((second_date - first_date) * (60 * 24),2) as time_in_minutes from ( select to_date('01/01/2008 01:30:00 PM','mm/dd/yyyy hh:mi:ss am') as first_date ,to_date('01/06/2008 01:35:00 PM','mm/dd/yyyy HH:MI:SS AM') as second_date from dual ) test_data
Ответ #3
Ответ на вопрос: Oracle - лучший оператор SELECT для получения разницы в минутах между двумя столбцами DateTime?
http://asktom.oracle.com/tkyte/Misc/DateDiff.html - ссылка не работает по состоянию на 30.01.2012
Похоже, это 9X_sql-statement ресурс:
http://asktom.oracle.com/pls/asktom/ASKTOM.download_file?p_file=6551242712657900129
-
3
-
1
-
3
-
2
-
6
-
2
-
5
-
4
-
4
-
2
-
2
-
38
-
10
-
15
-
33
-
5
-
4
-
3
-
6
-
21
-
15
-
24
-
11
-
6
-
3
-
2
-
2
-
3
-
6
-
2
-
6
-
4
-
1
-
3
-
17
-
9
-
1
-
1
-
1
-
6
-
2
-
2
-
2
-
1
-
25
-
4
-
4
-
8
-
7
-
17