| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > Вычеслить кол-во месяцов из двух дат |
| Автор: kentaro 22.2.2010, 12:07 |
| Как вычеслить кол-во месяце из двух дат? |
| Автор: password 22.2.2010, 16:46 | ||
Ну это если грубо взять среднее кол-во дней в месяце за 30 ))) |
| Автор: ToshaCh 22.2.2010, 17:39 |
| Внезапно первая ссылка в гугле: http://www.techonthenet.com/oracle/functions/months_between.php |
| Автор: kentaro 23.2.2010, 14:41 |
| Большое спасибо |
| Автор: kentaro 26.2.2010, 12:47 |
| ToshaCh, А есть ли такие же функции для подсчёта дней,лет? |
| Автор: ToshaCh 26.2.2010, 13:02 |
| Ну для дней тут тупо trunc(date1-date2), т.к. результат любой арифметики от двух дат это number. А для годов вроде нет специальной функции, но, опять таки внезапно, months_between/12. |
| Автор: kentaro 26.2.2010, 14:53 | ||
| ToshaCh, Не знаю почему но в процедуре он не работает,хотя должен показывать разность дней,лет,годов и.т.д
|
| Автор: Zloxa 27.2.2010, 13:05 | ||
Date1,Date2 - какого типа? |
| Автор: kentaro 27.2.2010, 15:43 |
| Zloxa, date |
| Автор: Zloxa 27.2.2010, 15:49 |
А теперь внимательно думаем что мы получим, если к дате сделаем to_date Добавлено через 1 минуту и 2 секунды ну или еще более конкретный хинт - какого типа аргумент должен быть у функциии to_date? Добавлено через 7 минут и 58 секунд бох с ним и вовсе без намеков. to_date первым аргументом принимаест строку, потому выполняя указанную конструкцию, оракл дату неявно переобразует в строку используя шаблон, прописанный в nls параметрах сессии. После чего Вы полученную строку явно пытаетесь преобразовать к дате используя шаблон, указанный вторым аргументом. Если шаблоны не совпадают, вы получаете в результате нечто не предсказуемое а не дату. |
| Автор: kentaro 1.3.2010, 09:49 | ||
Zloxa
Всё равно даёт ошибку.А как тогда мне дату привести к нужному формату не используя to_date? |
| Автор: kentaro 1.3.2010, 12:10 |
| Zloxa, Спасибо |