getColumnType() rozróżnienie date od timestamp

getColumnType() rozróżnienie date od timestamp
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam,

mam taki kawalek kodu (baza oracle):

Kopiuj
 
Map<String, Integer> column = new HashMap<String, Integer>();
try {
	ResultSetMetaData rsmd = rs.getMetaData();
	int n = rsmd.getColumnCount();
	for(int i = 1; i <= n; i++) {
		System.out.println(rsmd.getScale(i)); /* (1) */
		column.put(rsmd.getColumnName(i), rsmd.getColumnType(i));
	}
} catch (SQLException ex) {
	ex.printStackTrace
} 

Jak rozróżnić pola DATE i TIMESTAMP? Wyczytałem że w oraclu DATE to samo co TIMESTAMP w innych bazach więc to jest zachowanie prawidłowe. Mogę zawsze próbować moetody getScale (1) i zobaczyć czy w jest różne od zera (jeśli jest to wtedy musi być to TIMESTAMP), pytanie tylko co jeśli będzie równe zerem ?

  • Rejestracja: dni
  • Ostatnio: dni
0

Spróbuj metody getColumnTypeName.

  • Rejestracja: dni
  • Ostatnio: dni
0

Z góry założyłem że jeśli getColumnType zwraca te same typy to getColumnTypeName zwróci też to samo. Powinienem sprawdzić. Wielkie dzięki.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.