Я использую базу данных oracle в php-кодировании, теперь я хочу получить данные из oracle в моем магазине local_datatime в формате 24-DEC-14. и используя программу php, она отображается в "2014-12-24 13:31:16"
TO_DATE('2014-12-24 13:31:16', 'YYYY-MM-DD HH:MI:SS')
Это верно???
Я не использовал этот запрос
SELECT DISTINCT
dri.est_driver_id,
(dri.driver_first_name || ' ' || dri.driver_last_name) driver_name,
erd.last_tag_status,
veh.tag,
rf.tag_id,
erd.local_datetime,
rd.reader_id,
rf.badge_id
FROM est_driver dri
JOIN est_vehicle veh ON dri.est_driver_id = veh.est_driver_id
LEFT JOIN est_rfid_tag rf ON dri.est_rfid_tag_id = rf.est_rfid_tag_id
LEFT JOIN est_rfid_reader rd
ON rf.est_rfid_reader_id = rd.est_rfid_reader_id
LEFT JOIN est_tag_read erd ON rf.tag_id = erd.tag_id
WHERE dri.est_driver_id = '211'
AND erd.local_datetime = 'TO_DATE('2014-12-24 13:31:16', 'YYYY-MM-DD HH:MI:SS')'
в моей таблице local_datatime store в формате 24-DEC-14
Нет. DATE не сохраняется в формате, который вы видите, как он отображается. Он хранится в 7 bytes
который является запатентованным форматом Oracle.
Byte Description
1 Century value but before storing it add 100 to it
2 Year and 100 is added to it before storing
3 Month
4 Day of the month
5 Hours but add 1 before storing it
6 Minutes but add 1 before storing it
7 Seconds but add 1 before storing it
AND erd.local_datetime = 'TO_DATE (' 2014-12-24 13:31:16 ',' YYYY-MM-DD HH: MI: SS ')'
Вы используете одинарные кавычки вокруг строки, что здесь не так. Удалите одинарные кавычки. Кроме того, элемент времени представляется форматом HH24, который вы пропустили.
AND erd.local_datetime = TO_DATE('2014-12-24 13:31:16', 'YYYY-MM-DD HH24:MI:SS')
Используйте TO_DATE для преобразования строки в дату, используйте TO_CHAR для отображения даты в нужном формате.