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

टाइमस्टैम्प डेटाटाइप को यूनिक्स टाइमस्टैम्प Oracle में बदलें

यह प्रश्न काफी हद तक Unixtime को डेटाटाइम SQL (Oracle) में कनवर्ट करने के विपरीत है

जैसा कि जस्टिन केव कहते हैं:

<ब्लॉकक्वॉट>

कोई अंतर्निहित कार्य नहीं हैं। लेकिन किसी को लिखना अपेक्षाकृत आसान है। चूंकि यूनिक्स टाइमस्टैम्प 1,1970 के बाद से सेकंड की संख्या है

एक तारीख को दूसरी तारीख से घटाने पर उनके बीच के दिनों की संख्या में आप कुछ ऐसा कर सकते हैं:

create or replace function date_to_unix_ts( PDate in date ) return number is

   l_unix_ts number;

begin

   l_unix_ts := ( PDate - date '1970-01-01' ) * 60 * 60 * 24;
   return l_unix_ts;

end;

जैसा कि सेकंड . में है 1970 के बाद से भिन्नात्मक सेकंड की संख्या महत्वहीन है। आप इसे अभी भी टाइमस्टैम्प डेटा-प्रकार के साथ कॉल कर सकते हैं...

SQL> select date_to_unix_ts(systimestamp) from dual;

DATE_TO_UNIX_TS(SYSTIMESTAMP)
-----------------------------
                   1345801660

आपकी टिप्पणी के जवाब में, मुझे खेद है, लेकिन मुझे वह व्यवहार दिखाई नहीं दे रहा है:

SQL> with the_dates as (
  2    select to_date('08-mar-12 01:00:00 am', 'dd-mon-yy hh:mi:ss am') as dt
  3      from dual
  4     union all
  5    select to_date('08-mar-12', 'dd-mon-yy')
  6      from dual )
  7  select date_to_unix_ts(dt)
  8    from the_dates
  9         ;

DATE_TO_UNIX_TS(DT)
-------------------
         1331168400
         1331164800

SQL>

3,600 सेकंड का अंतर है, यानी 1 घंटा।



  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 SQL डेवलपर में दी गई तालिका का संदर्भ देती हैं?

  2. PLSQL में गोटो लेबल कमांड का उपयोग करके नियंत्रण को विशिष्ट लाइन पर पास करें

  3. Oracle क्लाउड प्लेटफ़ॉर्म पर Oracle डेटाबेस 12c के साथ Oracle JDeveloper 12c का उपयोग करना, भाग 2

  4. Oracle SQL सिंटैक्स:उद्धरित पहचानकर्ता

  5. विशिष्ट उपयोगकर्ता के स्वामित्व वाली सभी तालिकाओं पर अनुदान का चयन करें