1

我想从 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 没有时间。我怎样才能选择与时间呢?

4

1 回答 1

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 仅显示为字符串,不适用于日期算术。

于 2015-06-11T08:58:27.670 回答