1

NetBackup 統計を Oracle にインポートしようとしています。私が本当に欲しいフィールドの 1 つは ACTIVE START ですが、bpdbjobs -report からは利用できません。利用可能なのは ACTIVEELAPSED であるため、次のようにインポート時に END TIME からそれを減算します。

終了時間形式: 26/09/2009 10:46:20 PM

ELAPSED TIME 形式: 028:32:35 (時間、分、秒)

SQL*Loader 制御ファイル (関連行):

ACTIVE_ELAPSED      BOUNDFILLER POSITION(261:270),
END_TIME            POSITION(271:293) char "to_date(:End_time, 'dd/mm/yyyy hh:mi:ss AM')",
ACTIVE_START        EXPRESSION "to_date(:END_TIME, 'dd/mm/yyyy hh:mi:ss AM') - TO_DSINTERVAL(':ACTIVE_ELAPSED')",

私のグーグルは、間隔のフォーマットマスクがないことを私に知らせたので、私は現在困惑しています(Oracle SQLは私の通常の仕事ではありません!)

ジョナサン

4

1 に答える 1

1

経過時間を分割して (分数の) 日数に変換すると、END_TIME から差し引くことができます。

to_date(:END_TIME, 'dd/mm/yyyy hh:mi:ss AM')
- substr(:elapsed_time, 1, instr(:elapsed_time, ':') - 1) / 24
- substr(:elapsed_time, 
         instr(:elapsed_time, ':') + 1,
         instr(:elapsed_time, ':', 1, 2) - instr(:elapsed_time, ':') -1) / 24 / 60 
- substr(:elapsed_time, instr(:elapsed_time, ':', 1, 2) + 1) / 24 / 60 / 60
于 2009-09-30T06:17:30.177 に答える