Заметки веб-технолога (web_tech) wrote,
Заметки веб-технолога
web_tech

Формат TIMESTAMP

В MySQL есть два похожих типа столбцов: DATETIME и TIMESTAMP. Одно из отличий состоит в том, что DATETIME имеет вид YYYY-MM-DD HH:MM:SS, а TIMESTAMP отображается как YYYYMMDDHHMMSS. С последним и выходит загвоздка: такое представление не поддерживают ни Парсер, ни другие известные мне языки. В MySQL 4.1 это поведение исправлено. Если же доступна только версия 4.0, приходится идти на ухищрения.

Первый способ: сразу приводить дату к необходимому формату средствами MySQL (DATE_FORMAT). Подходит в большинстве случаев и, к тому же, даёт выигрыш в скорости.

Второй способ я обнаружил случайно:

DATE_ADD(dt_update, INTERVAL 0 DAY) AS dt_update

или, в «терминах» класса Sql.p:

^pSQL.dateAdd[dt_update;0] AS dt_update

Применение функции DATE_ADD с нулевым интервалом приводит дату к формату YYYY-MM-DD HH:MM:SS, с которым уже можно работать в Парсере. Способ абсолютно безопасный: когда хостер наконец проапгрейдит MySQL до последней версии, этот код останется работоспособным.
Tags: mysql, parser
Subscribe

  • Множественный UPDATE

    Если нужно обновить сразу несколько записей, необязательно делать UPDATE для каждой из них. В простейших случаях можно использовать следующий…

  • MSSQL vs MySQL

    Google рекомендует:

  • OR vs UNION

    Задача: достать из базы одним запросом корневые объекты и все объекты текущего треда, чтобы потом построить из них меню сайта и дублирующую…

  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments