2015-10-15 1 views
1

Я использую общий метод для циклического преобразования и преобразования ResultSet в массив String. Мне интересно, почему столбец «Дата» в значении Oracle db выдается как 2015-01-09 00: 00: 00.0, а дата в базе данных - 2015-01-09?Java ResultSet.getString() для поля даты, отображающего 00: 00: 00.0

Вот код, тип цв в Oracle: Дата

while(rs.next()) { 
     String[] arr = new String[colCount]; 
     for(int i = 1; i <= colCount; i++) { 
      arr[i-1] = rs.getString(i); 
     }//end for 
     list.add(arr); 
    }//end while 

Так что часть 1 вопроса, часть 2 вопроса - это мой лучший вариант для универсального метода здесь, чтобы сделать .replace 00: 00: 00.0, чтобы удалить это?

+0

DATE vs DATETIME? – lad2025

+0

Если вы обращаетесь к столбцу 'DATE', вы должны использовать' rs.getDate() 'вместо этого. Почему вы хотите неявное преобразование в строку? –

ответ

1

Вы не должны использовать rs.getString() в виде данных даты. Вы должны использовать rs.getDate(), а затем проанализировать дату по своему усмотрению.

Пример:

java.sql.Date date = rs.getDate(i); 
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); 
String dateStr = dateFormat.format(date); 

Или вы можете сразу получить дату в виде строки непосредственно из базы данных, используя TO_CHAR функцию следующим образом:

SELECT TO_CHAR(col1, 'yyyy-mm-dd') AS 'MYDATE' FROM TABLE1; 

, а затем получить его в виде строки:

String dateStr = rs.getString("MYDATE"); 

Надеюсь, что это поможет

1

Формат данных Oracle DATE содержит как дату, так и время. Так что это не странно - это Oracle.

Я бы лично преобразовал дату в java.sql.Date, чтобы удалить конечное время. Для этого вы можете использовать метод ResultSet.getDate().

См. docs об этом.

+1

Вы имеете в виду 'java.sql.Date'. –

+0

@MickMnemonic да, я имел в виду java.sql.Date, хотя это еще одна форма java.util.Date, в конце концов :) Я отредактирую, чтобы отразить. Благодарю. –

+0

Это был один из ответов, который я искал (Oracle Date содержит дату и время) - спасибо! – Kairan

 Смежные вопросы

  • Нет связанных вопросов^_^