Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DateTime из Oracle выбирается урезанным 
V
    Опции темы
Royan
  Дата 22.1.2008, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: нет
Всего: 15



Сижу под ораклом, делаю запрос из PL/SQL dev:

Код

SELECT task_date_time FROM tasks

Выбирается табличка с примерно таким содержанием:
Цитата

1    9/4/2007 02:00:00
2    9/4/2007 03:00:00
3    1/21/2008 04:40:00


Тот же самый запрос из PHP выбирает следующее (доп. скобочки и прочее осталась от JSON'а)
Цитата

{"task_date_time":"04-SEP-07"},
{"task_date_time":"04-SEP-07"},
{"task_date_time":"21-JAN-08"}


Вопрос куда подевались часы, минуты, секунды? Кто-нибудь знает как это лечить?


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
skyboy
Дата 22.1.2008, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



Цитата(Royan @  22.1.2008,  16:26 Найти цитируемый пост)
Кто-нибудь знает как это лечить?

да. смотреть код, который формирует "неправильные данные" и действовать по обстоятельствам.
интересно, какой ещё ответ можно получить, когда код не приведен на рассмотрение? или надежда была на то, что это общеизвестный баг, скажем, MySQL?
PM MAIL   Вверх
Royan
  Дата 23.1.2008, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: нет
Всего: 15



skyboy, Код здесь самый обыкновенный можно найти в любом букваре smile ну, например, тут: www.php.net/oci8
Короче ликбес. Оказывается, когда поле в Oracle имеет тип DATETIME то PHP возвращает строку, преобразованную к виду DD-Mon-YY, поэтому, чтобы получить значение поля в любом нужном формате нужно использовать функцию to_char в самом запросе, а именно писать вот так:


Код

SELECT to_char(task_date_time, 'DD-MON-YY HH24:MI:SS') FROM tasks


Enjoy!

PS 
Думаю достойно F.A.Q.'а

Это сообщение отредактировал(а) Royan - 24.1.2008, 09:52


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
Vaulter
Дата 23.1.2008, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 3
Всего: 22



Royan, ЛикБез - ликвидация безграмотности


--------------------
PM MAIL WWW ICQ   Вверх
Royan
Дата 24.1.2008, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: нет
Всего: 15



Vaulter, Прав, прав, прав


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0868 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.