【问题标题】:Select from Oracle table, date time value?从 Oracle 表中选择,日期时间值?
【发布时间】:2015-06-11 08:54:41
【问题描述】:

我想从 oracle 表中获取日期时间值。 这是我的代码

$conn = oci_connect("xxxx", "xxxx", "xxxx");
$query_1 = "select max (p.navi_date), p.navi_user
from payments p
where p.pay_date >= trunc(sysdate)
and p.navi_user = 'HAS:WWW:PARDOXT'
group by  p.navi_user
order by 1";
$s_1 = oci_parse($conn, $query_1);
oci_execute($s_1);
//oci_fetch_all($s, $res);
oci_fetch_all($s_1, $arr_1);
$o_1 = $arr_1['MAX(P.NAVI_DATE)'];
echo($o_1[0]);

但它显示 11.06.15 没有时间。怎样才能选择带时间的呢?

【问题讨论】:

  • SELECT TO_CHAR(dateColumn,'YYYY-MM-DD HH24:MI:SS') FROM mytable;

标签: php sql oracle datetime-format to-char


【解决方案1】:

最大值(p.navi_date)

要以所需格式显示日期,请使用 TO_CHAR 以及适当的格式模型

例如,

SQL> SELECT to_char(SYSDATE, 'MM/DD/YYYY HH24:MI:SS') dt FROM dual;

DT
-------------------
06/11/2015 14:28:04

SQL>

您修改后的查询如下所示:

SELECT to_char(max(p.navi_date), 'MM/DD/YYYY HH24:MI:SS')...

NOTE TO_CHARDATE 转换为 STRING,以您所需的格式显示日期时间值。对于日期算术,您应该保持原样,使用 to_char 仅显示为字符串,不适用于日期算术。

【讨论】:

  • $query_1 = "SELECT to_char(max(p.navi_date), 'MM/DD/YYYY HH24:MI:SS'), p.navi_user from payment p
  • 错误:注意:未定义索引:第 21 行 C:\xampp\htdocs\fintajonline\Online_Monitoring_Pays\index.php 中的 MAX(P.NAVI_DATE)
  • 可能是什么问题??
  • 在这种情况下:$query_1 = "SELECT to_char(max(p.navi_date, 'MM/DD/YYYY HH24:MI:SS')), p.navi_user from payment p
  • 嗯,这不是 Oracle 错误。顺便说一句,使用to_char 会将日期转换为字符串。此外,您没有在上述查询中应用过滤器。当您在原始查询中执行此操作时会发生什么?
猜你喜欢
  • 2015-05-14
  • 1970-01-01
  • 2013-10-02
  • 2011-01-24
  • 2018-09-24
  • 1970-01-01
  • 1970-01-01
  • 2012-10-27
  • 2016-07-07
相关资源
最近更新 更多