Автор Тема: Как из Oracle выбрать данные Date?  (Прочитано 6137 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн classn

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 11
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как из Oracle выбрать данные Date?
« : 26 Февраля 2002, 06:30:53 »
При считывании колонки (поля) типа Date в Perl возвращается непонятно-чего (вроде бы только дата, а нужно еще и время)
и Localtime не понимает этого значения.
Как можно правильно считать данные?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
The documentations is your friend

Оффлайн classn

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 11
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как из Oracle выбрать данные Date?
« Ответ #2 : 26 Февраля 2002, 12:18:57 »
Вставил nls_date_format в init.ora, перегрузил Oracle,
а в Perl так и не понимает ораклевый формат даты.
Что еще можно сделать?
Можно, конечно, сделать, чтобы запрос возвращал строку, но не будешь же все время лезть в Oracle, чтобы посчитать дату (исходное время, от которого нужно вести расчет времени лежит в Oracle)

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Как из Oracle выбрать данные Date?
« Ответ #3 : 26 Февраля 2002, 12:33:53 »
Цитировать
Что еще можно сделать?

Ты вставил nls_date_format = "YYYY-MM-DD"?
а минуты с секундами как? :)
Эх... форумы - рулят :)
http://www.oracle.com/forums/message.jsp?id=478156
The documentations is your friend

Оффлайн classn

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 11
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как из Oracle выбрать данные Date?
« Ответ #4 : 26 Февраля 2002, 12:56:06 »
Минуты с секундами тоже.
Результат - тот же самый (не понимает).

Оффлайн classn

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 11
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как из Oracle выбрать данные Date?
« Ответ #5 : 26 Февраля 2002, 12:58:53 »
Говорит, что у меня сейчас
Thu Jan  1 06:00:26 1970.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Как из Oracle выбрать данные Date?
« Ответ #6 : 26 Февраля 2002, 13:04:23 »
Напиши сюда свой запрос к базе.
The documentations is your friend

Оффлайн classn

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 11
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как из Oracle выбрать данные Date?
« Ответ #7 : 26 Февраля 2002, 13:16:56 »
SELECT date_task FROM task_time.
date_task - тип DATE.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Как из Oracle выбрать данные Date?
« Ответ #8 : 26 Февраля 2002, 13:27:51 »
Ты по ссылке ходил?!
http://www.oracle.com/forums/message.jsp?id=478156

Там пример:
select to_char(sysdate,\'YYYY/MM/DD HH24:MI:SS\') as Date_Time from dual;

И отрывок доки:
DATE_TIME
---------
28-MAR-01

TO_DATE convert whatever you specify the char string to date. Now internally the time is stored as whatever you have given as time in the char string(if the time is not specified it is stored as 00:00:00).

The displayed format of the date depends on the init. parameter(In your case it is YYYY/MM/DD and my case it is DD-MON-YY)

So even though you don\'t see the time because of the display format, the time still exists.

This query should help prove what I mean.

select to_Date(\'2001/03/28 12:30:55\',\'yyyy/mm/dd hh24:mi:ss\') datef, to_char(to_Date(\'2001/03/28 12:30:55\',\'yyyy/mm/dd hh24:mi:ss\'),\'yyyy/mm/dd hh24:mi:ss\') datetimef
from dual
The documentations is your friend

Оффлайн classn

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 11
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как из Oracle выбрать данные Date?
« Ответ #9 : 26 Февраля 2002, 13:56:07 »
Т.е. ты предлагаешь, чтобы Oracle возвращал строку...
И ты считаешь, что всякий раз, когда мне понадобится дата, нужно будет лезть в Oracle и там ее расчитывать???
Ведь есть в Perle функции работы с датой.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Как из Oracle выбрать данные Date?
« Ответ #10 : 26 Февраля 2002, 14:02:19 »
Цитировать
Ведь есть в Perle функции работы с датой.

Я другого выхода не нашел...
А какая разница кто будет разбирать дату?
На производительности это никак не скажется.
The documentations is your friend

Оффлайн classn

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 11
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как из Oracle выбрать данные Date?
« Ответ #11 : 27 Февраля 2002, 04:54:35 »
В общем-то ты прав. А ведь хотелось по-нормальному сделать, а "не так, как всегда"...
Спасибо за участие в решении проблемы.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28