Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Mendapatkan waktu yang benar dari tanggal Oracle di Solr DataImportHandler

Berikut kode lengkap untuk mengikuti jawaban terakhir (untuk kejelasan ekstra).

Dalam file data-config.xml Anda, baca tanggal dari DB dan masukkan ke stempel waktu:

select cast(STRT_DT as timestamp) as STRT_DTTS from DATES

Masukkan ke dalam entitas DataImportHandler, yang terlihat seperti ini:

<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>

Kueri ini akan mengembalikan oracle.sql.TIMESTAMP, tetapi tidak akan dipetakan secara langsung hingga saat ini. Oleh karena itu, diperlukan trafo skrip. Jadi kami memperkenalkan script:startDateTransform . Dalam data-config.xml yang sama, Anda dapat menyisipkan JavaScript seperti ini:

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;
}

Di sini kami mengonversi stempel waktu menjadi tanggal, memperbarui nilai kolom, dan mengembalikan baris dengan informasi baru.

Kolom STRT_DT :

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

sekarang harus berisi tanggal yang benar.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle RAC VIP dan ARP Primer

  2. Mendapatkan ORA-03115:tipe data jaringan atau kesalahan representasi yang tidak didukung saat mengambil array varchar dari pl/sql anonim

  3. SQL Cara Memilih item tanggal terbaru

  4. Bagaimana Cara Membuat Fungsi di PL/SQL?

  5. Codeigniter Oracle PDO-oci