Как хранить дату в 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 ни для datetime

    https://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 если парсить строку - там да, число. Но визуально когда смотрим в базу - видим норм дату. Сортировка вроде как работает. По крайней мере у меня, если я всё верно понял


Log in to reply