За последние 24 часа нас посетили 22435 программистов и 1043 робота. Сейчас ищут 594 программиста ...

Формат времени в (Oracle)

Тема в разделе "Oracle Database", создана пользователем Ann59, 13 ноя 2006.

  1. Ann59

    Ann59 Активный пользователь

    С нами с:
    13 ноя 2006
    Сообщения:
    3
    Симпатии:
    0
    Добрый день.
    Есть база Oracle, в ней таблица, один из столбцов - в формате date.
    В php цепляюсь к тыблице и выбираю из нее инфу.
    $sql = "select num, date_t from input_log t";
    $sql_statement = ociparse($con,$sql);
    ociexecute($sql_statement);


    echo "<TABLE>";
    while (ocifetch($sql_statement)) {
    echo "<TR>";
    $Col1=ociresult($sql_statement,1);
    $Col2=ociresult($sql_statement,2);
    echo "<TD>$Col1</TD>";
    echo "<TD>$Col2</TD></TR>";
    echo "<TABLE>";

    в итоге на странице выдается дата в формате 01-NOV-06
    Как сделать, чтобы ее формат был 01.11.2006 14:31:16 или 09 ноября 2006 14:31:16?
     
  2. либо посмотреть в документации по Oracle функции для локализации и форматировани даты, либо распарсить строковыми функциями пхп и сформатировать заново.
    А ты думал, есть какие-то другие пути?
     
  3. Anonymous

    Anonymous Guest

    В Оракле это делает функция TO_CHAR(date, format), форматы смотрите в документации.
     
  4. Ann59

    Ann59 Активный пользователь

    С нами с:
    13 ноя 2006
    Сообщения:
    3
    Симпатии:
    0
    Спасибо большое :D
     
  5. RXL

    RXL Активный пользователь

    С нами с:
    21 дек 2006
    Сообщения:
    1
    Симпатии:
    0
    Можно еще так:

    ALTER SESSION SET NLS_DATE_FORMAT = '....'
    ALTER SESSION SET NLS_TIME_FORMAT = '....'

    До завершения сессии дата и время будут обрабатывать в указанном формате.
     
  6. Gen

    Gen Активный пользователь

    С нами с:
    23 май 2007
    Сообщения:
    4
    Симпатии:
    0
    Адрес:
    Харьков
    Спасибо! Была та же проблема с датой при вытаскивании даты из Оракла.
    Записал в конф.файле последней строчкой:

    <?php
    require_once 'adodb.inc.php';
    $db = NewADOConnection('oracle');
    $db->Connect(FALSE, 'xxxxxx', 'xxxx', 'xxxx');
    $db->SetFetchMode(ADODB_FETCH_ASSOC);
    $db->Execute("ALTER SESSION SET NLS_DATE_FORMAT='dd.mm.yyyy hh24:mi:ss'");
    ?>

    а в темпле Smarty:
    ....
    <% if $key eq "DATE_" %>
    <td style="width: 79px; text-align: center;"> <% $item|date_format:'%d.%m.%y<br>%H:%M:%S'|default:'NULL' %> </td>
    ...

    и все образовалось