来自oracle db的日期和时间

时间:2015-10-15 08:45:26

标签: sql oracle date-formatting

在我的oracle db日期格式中就像" 13.10.2015 22:25:56"  但在这之后选择我的网站日期格式正在改变这样的" 13-OCT-15" - 没有......:mm:ss

    <table border='1' align='left' bordercolor='navy' width='13%'>
    <tr>
            <td align="center">date - number</td>
    </tr>


<td align="center">
<?php 
$Date_1 = $_POST['Date_1'];
$Date_2 = $_POST['Date_2'];


$conn = oci_connect('login', 'password', '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=host)(PORT=port) (CONNECT_DATA=(SERVICE_NAME=service)))');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
//----------------------------------------------------------------------------------
$sql="SELECT DATE, NUMBER FROM DB.RESULT
WHERE (DATE BETWEEN TO_DATE('{$Date_1} 00:00:00', 'YYYY.MM.DD HH24:MI:SS')
AND TO_DATE('{$Date_2} 23:59:59', 'YYYY.MM.DD HH24:MI:SS'))
ORDER BY DATE desc";
$stid = oci_parse($conn, $sql);
oci_execute($stid);
echo "<table border='1' align='left' width='100%' height='100%' bordercolor=navy>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {

    foreach ($row as $item) {
        echo "    <td align='center'>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n","</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n"; 
echo "</td>";  ?>

1 个答案:

答案 0 :(得分:0)

  

在我的oracle db日期格式中就像“13.10.2015 22:25:56”但在这之后选择我的网站日期格式正在改变像这样的“13-OCT-15” - 没有hh:mm:ss < / p>

Oracle不会以您看到的格式存储日期。它以内部专有格式存储在7个字节中,每个字节存储日期时间值的不同组件。

使用 TO_CHAR 以及 FORMAT MODEL 以所需格式显示日期时间。

例如,

SQL> SELECT TO_CHAR(SYSDATE, 'mm/dd/yyyy hh24:mi:ss') my_format FROM DUAL;

MY_FORMAT
-------------------
10/15/2015 14:19:47

将您的代码修改为:

$sql="SELECT TO_CHAR(DATE, 'mm/dd/yyyy hh24:mi:ss') as "DATE", NUMBER FROM DB.RESULT
WHERE (DATE BETWEEN TO_DATE('{$Date_1} 00:00:00', 'YYYY.MM.DD HH24:MI:SS')
AND TO_DATE('{$Date_2} 23:59:59', 'YYYY.MM.DD HH24:MI:SS'))
ORDER BY DATE desc";