Я экспортирую таблицу на сервере sql в файл CSV с помощью csvwriter (opencsv), формат даты изменен в файле csv. фактический формат даты на сервере sql - ГГГГ-ММ-ДД ЧЧ:МИ:СС, но он преобразуется в 19 сентября 2014 г. 09:13:00. Я использую ОС Ubuntu.
CSVwriter Writerall изменяет формат даты набора результатов с помощью java
Ответы (3)
У меня была та же проблема, но похоже, что вы можете установить формат, который будет использовать CSVWriter:
CSVWriter csvWriter = ..
ResultSetHelperService resultSetHelperService= new ResultSetHelperService();
resultSetHelperService.setDateFormat("yyyy-MM-dd");
resultSetHelperService.setDateTimeFormat("yyyy-MM-dd HH:MI:SS");
csvWriter.setResultService(resultSetHelperService);
person
Mick
schedule
11.09.2019
В вашем запросе сделайте так, чтобы дата, возвращаемая из запроса sql, была в формате, который вам нравится. Например:
SELECT lastName, DATE_FORMAT(someDate,'%Y-%m-%d %T') AS columnName from mytable
Таким образом, когда он будет возвращен в модуль записи CSV, он будет в выбранном вами формате. Затем вы можете использовать запрос для прокрутки и записи.
String[] columns = {"lastName","columnName"};
writer.writeNext(columns);
while(rs.next()){
String[] values = {
rs.getString("lastName"),
rs.getString("columnName")
};
writer.writeNext(values);
}
person
ZakiMak
schedule
06.01.2015
Я сбрасываю таблицу в csv (выберите * операцию) Writer = new CSVWriter(new OutputStreamWriter(new FileOutputStream(имя файла), UTF-16),CSVWriter.DEFAULT_SEPARATOR,CSVWriter.NO_QUOTE_CHARACTER,CSVWriter.DEFAULT_LINE_END); писатель.writeAll (rset, ложь);
- person Sravan K Reddy; 06.01.2015
Хорошо, обновил мой ответ. Пожалуйста, проверьте. Пример, который я привел, отлично работал с MySQL. Вам нужна подобная вещь, я считаю.
- person ZakiMak; 06.01.2015
Я конвертирую как CONVERT(DATETIME, tblDoctor.[PasscodeDate], 105) AS Doctor_PasscodeDate . Хотя я получаю то же самое. когда я печатаю набор результатов, я получаю правильный формат. Но когда я пишу в файл с помощью метода writeall (rset), я получаю эту проблему. это может быть проблема csvwriter. в любом случае спасибо за помощь
- person Sravan K Reddy; 06.01.2015
В этом я не знаю имен столбцов (фамилия, имя), запроса, который я получаю из файла конфигурации, и даю оператор выполнения и дамп в файл csv. у нас нет запросов на выборку в конфигурационном файле.
- person Sravan K Reddy; 06.01.2015
Отформатируйте запрос следующим образом:
select ''||to_date(your_date_field, 'yyyy-mm-dd') from your_table
Добавление пустой строки в выбранное поле даты заставило CSVWriter рассматривать ее как строку и записывать как есть.
person
Kannan
schedule
20.01.2017