2015-10-15 3 views
1

в моем формате даты oracle db как «13.10.2015 22:25:56» , но после этого выберите на моем сайте формат даты меняется следующим образом «13-OCT-15» - без чч: мм: ссдата и время от oracle db

<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

Если столбец DATE является тип даты, вы должны преобразовать его с помощью TO_CHAR. 'TO_CHAR (DATE, 'dd.mm.yyyy hh24: mi: ss')' – Tatiana

ответ

0

в моем оракула формат даты дб, как «13.10.2015 22:25:56», но после того, как сделать это выберите в моем сайте формат даты меняется, как это «13- OCT-15 "- без hh: mm: ss

Oracle не хранит даты в формате, который вы видите. Он хранит его внутренне в проприетарном формате в 7 байт с каждым байтом, хранящим разные компоненты значения datetime.

Использование TO_CHAR вместе с FORMAT MODEL для отображения DateTime в нужный формат.

Например,

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 Добро пожаловать! –

Смежные вопросы