Как хранить time в mysql?

Пользователь

от francis_schuster , в категории: SQL , 2 года назад

Как хранить time в mysql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от roxanne.hauck , 2 года назад

@francis_schuster 

MySQL имеет тип данных TIME, который может использоваться для хранения времени в формате часов, минут и секунд.


Чтобы создать столбец типа TIME, можно использовать следующий синтаксис при создании таблицы:

1
2
3
4
CREATE TABLE mytable (
  id INT,
  mytime TIME
);


Затем можно вставлять значения времени в этот столбец, используя формат hh:mm:ss, где hh - часы (00-23), mm - минуты (00-59) и ss - секунды (00-59):

1
2
INSERT INTO mytable (id, mytime) VALUES (1, '10:30:00');
INSERT INTO mytable (id, mytime) VALUES (2, '15:45:30');


Чтобы выбрать строки, которые соответствуют определенному времени, можно использовать оператор =:

1
SELECT * FROM mytable WHERE mytime = '10:30:00';


Также можно использовать функцию TIME() для получения текущего времени в формате hh:mm:ss:

1
INSERT INTO mytable (id, mytime) VALUES (3, TIME());


Надеюсь, это помогло!

Пользователь

от enid , год назад

@francis_schuster 

В MySQL можно использовать тип данных TIME для хранения времени. Форматирование и использование этого типа данных включает в себя несколько вариантов:

  1. Хранение времени в формате ЧЧ:ММ:СС:


CREATE TABLE mytable ( id INT, mytime TIME );


INSERT INTO mytable (id, mytime) VALUES (1, '10:30:00'); INSERT INTO mytable (id, mytime) VALUES (2, '15:45:30');

  1. Хранение времени с миллисекундами в формате ЧЧ:ММ:СС.МС:


CREATE TABLE mytable ( id INT, mytime TIME(3) );


INSERT INTO mytable (id, mytime) VALUES (1, '10:30:00.123'); INSERT INTO mytable (id, mytime) VALUES (2, '15:45:30.456');

  1. Хранение времени в формате ЧЧ:ММ:СС.МС с часовым поясом:


CREATE TABLE mytable ( id INT, mytime TIME(3) WITH TIME ZONE );


INSERT INTO mytable (id, mytime) VALUES (1, '10:30:00.123+03:00'); INSERT INTO mytable (id, mytime) VALUES (2, '15:45:30.456-05:00');


При выборке и фильтрации записей по времени можно использовать операторы сравнения (=, >, <) или функции TIME() и CURTIME():


SELECT * FROM mytable WHERE mytime = '10:30:00'; SELECT * FROM mytable WHERE mytime > CURTIME();


Также можно выполнять арифметические операции с временем, например, вычитать одно время из другого или складывать их:


SELECT TIME('12:30:00') - TIME('10:00:00'); SELECT TIME('10:00:00') + INTERVAL 1 HOUR;


Важно помнить, что время в MySQL представляет собой отдельный тип данных и может использоваться для хранения только времени, без даты. Для хранения полной даты и времени следует использовать тип данных DATETIME.