Мое Java-приложение использует базу данных MySQL, которую я пытаюсь преобразовать в SQLite. Мне удалось преобразовать саму базу данных очень хорошо, но у меня проблема с временными метками, которые хранятся в базе данных.
В частности, мои временные метки были сохранены в формате MySQL по умолчанию:
2018-04-14 16:33:00
Теперь, при попытке прочитать метку времени в SQLite, я получаю следующую ошибку:
ParseException: Unparseable date: "2018-04-14 16:33:00" does not match (\p{Nd}++)\Q-\E(\p{Nd}++)\Q-\E(\p{Nd}++)\Q \E(\p{Nd}++)\Q:\E(\p{Nd}++)\Q:\E(\p{Nd}++)\Q.\E(\p{Nd}++)
Существует ли эффективный способ справиться с этим без фактического изменения формата, хранящегося в базе данных?
Вот DDL для одной из таблиц, где существует эта проблема:
create table agent_list_updates
(
update_id integer not null
primary key
autoincrement,
agent_count integer not null,
update_timestamp timestamp default CURRENT_TIMESTAMP,
user_id integer not null
constraint fk_agent_list_updates_users
references users
)
;
create index idx_agent_list_updates_idx_agent_list_updates_user_id
on agent_list_updates (user_id)
;
Запрос:
SELECT
agent_count,
update_timestamp
FROM agent_list_updates;
И код Java, который на самом деле вызывает ошибку:
if (resultSet.next()) {
return resultSet.getTimestamp("update_timestamp");
} else {
return null;
}