Member 14549747 Ответов: 2

Как я могу объявить переменные времени и даты в mysql ?


Как я могу объявить переменные времени формы XX:YY и переменные даты формы
ДД-ММ-гггг в MySQL?

Что я уже пробовал:

Я работаю над проектом о базе данных кинотеатров и хочу создать переменные даты и времени для начала трансляции фильма

Richard MacCutchan

Не храните даты и время в виде текстовых строк. Используйте соответствующие типы данных, как описано в документации.

2 Ответов

Рейтинг:
9

k5054

GIYF: MySQL :: MySQL 8.0 справочное руководство :: 11.3 типы даты и времени[^]
Если вы настаиваете на формате "ДД-ММ-гггг", который может быть неоднозначным, если ваши пользователи ожидают "ММ-ДД-гггг", вам, возможно, придется еще немного погуглить, чтобы узнать, как правильно форматировать даты. Я бы посоветовал вам придерживаться "гггг-ММ-ДД", его однозначности, и в качестве бонуса, Если вам нужно (или хотите) сортировать по дате в приложении, в отличие от извлечения отсортированных данных из базы данных, прямое сравнение строк работает правильно, без необходимости писать метод декомпозиции и сравнения дат.


Member 14549747

Да "гггг-ММ-ДД" . Когда вы говорите string compare, что вы имеете в виду ?

k5054

Если у нас есть функция compare(string1, string2) затем compare("2018-08-01", "2019-07-02") покажет, что первая строка меньше второй. Наверное, именно этого мы и хотим. Если мы используем "ММ-ДД-гггг",то compare("08-01-2018", "07-02-2019") показывает, что первая строка больше второй, что, вероятно, не то, что мы хотим. Если бы мы хотели сравнить даты с помощью "ММ-ДД-гггг", нам пришлось бы написать compare_date(date1, date2) функция, которая извлекает год, месяц, день из каждой строки, а затем сравнивает годы, месяцы и дни, чтобы определить, меньше ли date1, чем date2.

Member 14549747

Большое спасибо.

Рейтинг:
2

MadMyche

На самом деле вы не можете; поскольку типы даты и времени в большинстве систем СУБД на самом деле являются числами.
Это зависит от того, какую программу вы используете для просмотра информации, чтобы фактически отформатировать ее в узнаваемый человеком формат на уровне презентации.

Способ сделать это состоит в том, чтобы подарок это делается для того, чтобы использовать Date_Format() который преобразует дату/время в строку as.

Ссылка:
[1]: MySQL :: MySQL 8.0 справочное руководство :: 12.7 функции даты и времени[^]