Oracle
 sql >> база данни >  >> RDS >> Oracle

Получаване на правилното време от датата на Oracle в Solr DataImportHandler

Ето пълния код към последния отговор (за допълнителна яснота).

Във вашия файл data-config.xml прочетете датата от DB и прехвърлете към клеймо за време:

select cast(STRT_DT as timestamp) as STRT_DTTS from DATES

Поставете в обект DataImportHandler, който изглежда така:

<entity name="startDate" transformer="script:startDateTransform"
        query="select cast(STRT_DT as timestamp) as STRT_DTTS from DATES" >
    <field column="STRT_DTTS" name="STRT_DT" /> 
</entity>

Тази заявка ще върне oracle.sql.TIMESTAMP, но няма да се съпостави директно с дата. Следователно е необходим трансформатор на скрипт. Така въвеждаме script:startDateTransform . В същия data-config.xml можете да вмъкнете JavaScript така:

function startDateTransform(row){
    // Get the timestamp and convert it to a date
    var dateVal = row.get("STRT_DTTS").dateValue();

    // Put the correct date object into the original column
    row.put("STRT_DTTS", dateVal);

    return row;
}

Тук преобразуваме клеймото за време в дата, актуализираме стойността на колоната и връщаме реда с новата информация.

Полето STRT_DT :

<field column="STRT_DTTS" name="STRT_DT" />

сега трябва да съдържа правилната дата.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ODAC изглежда кешира схема на таблица?

  2. UTL_MATCH-подобна функция за работа с CLOB

  3. Свържете се с Oracle без tnsname.ora

  4. Как да получа Oracle, да видя какви процедури се изпълняват?

  5. Проблем със заявка на SqlPlus (спецификация на пакета и тяло)