Convert from date to epoch-Oracle

后端 未结 2 1648
Happy的楠姐
Happy的楠姐 2020-12-07 06:05

I need to convert a date from a TextBox from date to epoch time so that I can insert it into Oracle DB.

I managed to convert from epoch to date as below, but couldn\

相关标签:
2条回答
  • 2020-12-07 06:29
    UpdateCommand="UPDATE CONTRACTORS
                                               SET COMPANY=:COMPANY,
                                                   FIRST_NAME=:FIRST_NAME,
                                                   LAST_NAME=:LAST_NAME,
                                                   ID_NUMBER=:ID_NUMBER,
                                                   TRAINING_DATE=(TO_DATE(:TRAINING_DATE, 'MM-DD-YYYY HH24:MI:SS') - TO_DATE('01-JAN-1970','DD/MM/YYYY'))*24*60*60,
                                                   TRAINING_VALABILITY=(TO_DATE(:TRAINING_VALABILITY, 'MM-DD-YY`enter code here`YY HH24:MI:SS') - TO_DATE('01-JAN-1970','DD/MM/YYYY'))*24*60*60
                                               WHERE (ID=:ID)"
    
    0 讨论(0)
  • 2020-12-07 06:33

    Subtracting DATE '1970-01-01' from the value will give the number of days (and fractional hours/minutes/seconds) difference and then you can multiply by 24*60*60:

    (date_value - DATE '1970-01-01')*24*60*60
    

    Update:

    Typically, epoch time is measured from 1970-01-01T00:00:00 UTC. If your date is not in UTC then you will need to convert time zones.

    For example, if your date has the time zone Europe/Berlin:

    ( CAST(
        FROM_TZ(
          CAST( date_value AS TIMESTAMP ),     -- Cast to timestamp
          'Europe/Berlin'                      -- Convert to expected Time Zone
        )
        AT TIME ZONE 'UTC'                     -- Convert Time Zone to UTC
        AS DATE                                -- Cast back to DATE data type
      )
      - DATE '1970-01-01'
    )*24*60*60
    

    db<>fiddle

    0 讨论(0)
提交回复
热议问题