Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Solr DataImportHandler . में Oracle दिनांक से सही समय प्राप्त करना

अंतिम उत्तर (अतिरिक्त स्पष्टता के लिए) के साथ जाने के लिए यहां पूरा कोड है।

अपनी data-config.xml फ़ाइल में डीबी से तारीख पढ़ें और टाइमस्टैम्प पर कास्ट करें:

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 . उसी डेटा-config.xml में, आप इस तरह जावास्क्रिप्ट सम्मिलित कर सकते हैं:

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. Oracle में संगतता स्तर की जाँच करने के 2 तरीके (SQLcl और SQL*Plus)

  2. Oracle SQL में समय को सेक में बदलने का प्रयास करें

  3. क्या Oracle का EXTRACT फ़ंक्शन XMLELEMENT में NOENTITYESCAPING को तोड़ रहा है?

  4. ऑरैकल डेटाबेस में तालिका संशोधित कॉलम बदलें

  5. जब मैं बाधा का नाम नहीं जानता तो मैं ओरेकल में एक शून्य बाधा कैसे छोड़ सकता हूं?