SQLコードでのSQLクエリから算出した浮動小数点データを取得することができません:Javaはビュー用のOracle
NAME COUNT DURATION_STEP
wf_retrieving_first_last_records 99 44
wf_move_halp_part_data 99 45
wf_flat_files_remove_footer 97 41
wf_etl_huge_data_transformation 31 140
wf_Test_Mapping1 101 45
wf_Split_Non_Key_Columns 99 45
wf_Separating_duplicate_non_duplicate_rows 99 45
wf_Multiple_Column_To_One_Column 99 44
以下のデータを生成しているが、私は取得しようとしていたときに
CREATE OR REPLACE FORCE EDITIONABLE VIEW "DAC"."W_ETL_RUN_STEP_AVG_TIME" ("NAME", "COUNT", "DURATION_STEP")
AS
SELECT
step_name AS name,
COUNT(
*) AS COUNT,
--sucess_rows AS sucess_rows,
ROUND(SUM(60 * 24 * (to_date(end_ts, 'yyyy-MM-DD hh24:mi:ss') - to_date(
start_ts, 'yyyy-MM-DD hh24:mi:ss')))) AS duration_step
FROM w_etl_run_step
WHERE step_name IN
(SELECT DISTINCT step_name
FROM w_etl_run_step
)
AND start_ts > SYSDATE - 30 --ADD_MONTHS(SYSDATE, -1)
--AND status ='Completed'
GROUP BY step_name
ORDER BY step_name DESC;
私は次の出力を取得しています
try {
String selectSQL="Select name, duration_step from W_ETL_RUN_STEP_AVG_TIME"; //Get last update time
dbConnection = getDBConnection();
preparedStatement = dbConnection.prepareStatement(selectSQL);
ResultSet rs = preparedStatement.executeQuery();
int duration_step=0;
String step_name ="";
while (rs.next()) {
step_name=rs.getString("name");
duration_step=rs.getInt("duration_step");
System.out.println("Step Name : "+step_name+" Duration: "+duration_step);
}
}
catch (SQLException e) {
System.out.println(e.getMessage());
}
以下のコードを使用してJavaを経由して、このデータ:
Step Name : wf_retrieving_first_last_records Duration: 0
Step Name : wf_move_halp_part_data Duration: 0
Step Name : wf_flat_files_remove_footer Duration: 0
Step Name : wf_etl_huge_data_transformation Duration: 0
Step Name : wf_Test_Mapping1 Duration: 0
Step Name : wf_Split_Non_Key_Columns Duration: 0
Step Name : wf_Separating_duplicate_non_duplicate_rows Duration: 0
Step Name : wf_Multiple_Column_To_One_Column Duration: 0
Step Name
が正しく印刷されますが、計算された値ではありません。
助けてください。
データベースのデータを確認します。 0を返すと、データベースの列duration_stepの値が0になります –
質問の形式を正しく指定してください – surajsn
vlue 'rs.getString(" duration_step ");'を印刷して何が印刷されているか見ることができますか – Ali786