SQL-Code für die Ansicht abzurufen:Java ist nicht in der Lage berechnet Floating-Point-Daten aus SQL-Abfrage in Oracle
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;
, die die unten aufgeführten Daten
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
erzeugt Aber wenn ich versuche, abrufen diese Daten über java den Code unten mit
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());
}
ich die folgende Ausgabe bin immer:
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
richtig gedruckt, aber nicht die Dauer, die ein berechneter Wert ist.
Bitte helfen.
Überprüfen Sie die Daten in der Datenbank. Wenn es 0 zurückgibt, ist der Wert der Spalte duration_step 0 in der Datenbank –
Bitte formatieren Sie Ihre Frage richtig – surajsn
können Sie einfach die vlaue 'rs.getString (" duration_step ");' drucken und sehen, was es druckt – Ali786