我现在在PHP编码中使用oracle数据库我想从我的表local_datatime商店以24-DEC-14格式从oracle获取数据。它使用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')'
答案 0 :(得分:0)
在我的表local_datatime以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 以所需格式显示日期。