Сохранение даты в MySQL

119
23 декабря 2020, 03:20

Я обычно использую VARCHAR(255) и в java пишу preparedStatement.setString(...). Но в SQL есть тип данных DATE и DATETIME.

Мне бы хотелось узнать как сохранять дату (без времени) в MySQL с типом данных DATE и читать ее?

Дополнительный вопрос: эффективнее хранить дату в DATE тип данных или VARCHAR(255)/TEXT?

Answer 1

Вы можете использовать в базе данных тип DATE, а в java коде - LocalDate. Во время запроса конвертируйте одно в другое. Пример:

Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("select '2019-05-18'");
resultSet.next();
LocalDate date = resultSet.getDate(1).toLocalDate();

Что касается того, использовать дату или строку, то тут однозначно - дату. Имея дату, можно делать "range" запросы. Пример:

SELECT *
FROM my_table
WHERE my_date BETWEEN '2019-01-01' AND '2019-10-01'
READ ALSO
Как создать многострочный tooltip в SVG

Как создать многострочный tooltip в SVG

В SVG тултип реализуется с помощью парного тега <title> Текст подсказки </title>

120
Аналог редактирования prototype в JS на Python 3

Аналог редактирования prototype в JS на Python 3

В js, если мне вдруг нужно будет, я смогу добавить новый метод для любого объектаНапример метод exist для массива:

124
Преобразовать JS массив в другой вид

Преобразовать JS массив в другой вид

Как правильно преобразовать массив вида:

138