Как хранить дату в mysql с возможностью сортировки ?
-
Собственно кукуха едит.
Пробовал так - дату в милисикунды и в поле int в мускуле. Но оказывается есть какое то ограничение в мускуле на длину числа и он преобразовывает вообще в какое то другое число.Пробовал поле дата - time stamp - но тоже не получается при вставке миллисекунд получаю все нули в этом поле.
Может что наставит на путь истинный ?
-
@Bigma said in Как хранить дату в mysql с возможностью сортировки ?:
Собственно кукуха едит.
Пробовал так - дату в милисикунды и в поле int в мускуле. Но оказывается есть какое то ограничение в мускуле на длину числа и он преобразовывает вообще в какое то другое число.Пробовал поле дата - time stamp - но тоже не получается при вставке миллисекунд получаю все нули в этом поле.
Может что наставит на путь истинный ?
https://dev.mysql.com/doc/refman/8.0/en/fixed-point-types.html
-
@Fox не понял, я имел ввиду дату и время
С интеджером более менее понял, он там бывает еще bigint в него заходит.
А вот если выставлять тип дата, то так и не понял в каком формате ему скармливать эту дату. Миллисекунды не подходят ни для формата timestamp ни для date ни для datetime
-
@Bigma said in Как хранить дату в mysql с возможностью сортировки ?:
@Fox не понял, я имел ввиду дату и время
С интеджером более менее понял, он там бывает еще bigint в него заходит.
А вот если выставлять тип дата, то так и не понял в каком формате ему скармливать эту дату. Миллисекунды не подходят ни для формата timestamp ни для date ни для datetimehttps://www.internet-technologies.ru/articles/rabota-s-datoy-i-vremenem-v-mysql.html
-
@Fox спасибо, это я тоже читал но вот на практике пытаюсь вставить запись в поле формат которого (любой на самом деле из трех - date или datetime или timestamp)
{"id":"","profile":"testu1","date":"1633610450592"}
получаю нули вместо даты в базе, пробовал до 10 знаков обрезать, тоже не выходит
-
@Bigma said in Как хранить дату в mysql с возможностью сортировки ?:
@Fox спасибо, это я тоже читал но вот на практике пытаюсь вставить запись в поле формат которого (любой на самом деле из трех - date или datetime или timestamp)
{"id":"","profile":"testu1","date":"1633610450592"}
получаю нули вместо даты в базе, пробовал до 10 знаков обрезать, тоже не выходитВы либо формируйте дату в формат "2012-05-04 07:41:45" либо используйте функцию FROM_UNIXTIME для преобразования входных параметров в тип данных timestamp
INSERT INTO you_table (expiration_date) VALUES (FROM_UNIXTIME('1526763600'))
-
@Fox said in Как хранить дату в mysql с возможностью сортировки ?:
INSERT INTO you_table (expiration_date) VALUES (FROM_UNIXTIME('1526763600'))
с запросом более менее разобрался, спасибо. Но это конечно красная шапочка пошла по длинной дороге :)
Проще в bigint хранить :)
-
@Bigma said in Как хранить дату в mysql с возможностью сортировки ?:
@Fox said in Как хранить дату в mysql с возможностью сортировки ?:
INSERT INTO you_table (expiration_date) VALUES (FROM_UNIXTIME('1526763600'))
с запросом более менее разобрался, спасибо. Но это конечно красная шапочка пошла по длинной дороге :)
Проще в bigint хранить :)
Ну с датой потом будет проще работать, например одним запросом получить выборку данных за неделю
-
@Fox а битвин с интеджером не то же самое ? высчитав предварительно
-
@Bigma если парсить строку - там да, число. Но визуально когда смотрим в базу - видим норм дату. Сортировка вроде как работает. По крайней мере у меня, если я всё верно понял