2015-10-15 55 views
1

在我的oracle數據庫日期格式就像「13.10.2015 22:25:56」 但這樣做後,選擇我的網站日期格式正在改變像這樣「13-OCT-15」 - 無HH:mm:ss的來自oracle數據庫的日期和時間

<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

如果日期欄是日期類型,你應該使用TO_CHAR轉換。 'TO_CHAR(DATE,'dd.mm.yyyy hh24:mi:ss')' – Tatiana

回答

0

在我的Oracle數據庫日期格式,如「2015年10月13日二十二時25分56秒」,但這樣做的選擇在我的網站的日期格式正在改變這樣的「後13- OCT-15「 - 無hh:mm:ss

Oracle不會按照您看到的格式存儲日期。它以7字節的專有格式內部存儲它,每個字節存儲日期時間值的不同分量。

使用TO_CHAR業態模式一起,以顯示你想要的格式的日期時間。

例如,

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"; 
+0

它的工作原理。謝謝! –

+0

@ArevikAkopian不客氣! –