【问题标题】:I want to Get Date in yyyy-mm-dd HH:mm:ss format我想以 yyyy-mm-dd HH:mm:ss 格式获取日期
【发布时间】:2015-07-31 09:59:22
【问题描述】:

我在 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')'

【问题讨论】:

  • Pretty Unclear 你能解释一下你的实际需求是什么
  • 请检查编辑的代码先生
  • 删除 to_char 函数周围的单引号。你的代码很好。
  • 'TO_DATE(' 是一个函数 - 所以不需要引用。
  • 你想做什么?以yyyy-mm-dd hh:mi:ss 格式显示 erd.local_datetime,或者将传入 where 子句的字符串转换为日期以进行比较?您也不需要在 to_date() 外部加上单引号。而且您需要考虑 24 小时 - 要么使用 hh24 而不是 hh,要么在 hh:mi:ss 之后放置 AM(或 PM - 两者都可以) - 例如 hh:mi:ss AM。你的最后一行应该是这样的:AND erd.local_datetime = TO_DATE('2014-12-24 13:31:16', 'YYYY-MM-DD HH24:MI:SS')

标签: php sql oracle date-formatting


【解决方案1】:

在我的表 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')'

您在字符串周围使用单引号,但此处并非如此。删除单引号。此外,time 元素似乎是您错过的 HH24 格式。

AND erd.local_datetime = TO_DATE('2014-12-24 13:31:16', 'YYYY-MM-DD HH24:MI:SS')

使用 TO_DATE 将字符串转换为日期,使用 TO_CHAR 以所需格式显示日期。

【讨论】:

    猜你喜欢
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 2015-10-08
    • 2013-11-01
    • 2020-03-07
    相关资源
    最近更新 更多