Справочное руководство по MySQL версии 4.1.1-alpha


         

строковая функция, следовательно, она преобразует


STRCMP() - строковая функция, следовательно, она преобразует idate в строку и сравнивает строки. Функция не станет преобразовывать 19970505 в дату и сравнивать даты.

Заметим, что MySQL осуществляет очень ограниченную проверку правильности дат, поэтому такая некорректная дата, как 1998-2-31, будет занесена в базу.

Поскольку MySQL пакует даты для сохранения, он не может сохранить любую дату, так как она может не поместится в результирующий буфер. Правила принятия дат следующие:





  • Если MySQL может хранить и выбирать заданную дату, неправильная дата принимается для столбцов DATE и DATETIME.


  • Все значения дней между 0-31 принимаются для любой даты, это удобно для приложения, где вы запрашиваете год, месяц и день в 3х различных полях.


  • День или месяц могут быть нулем. Это удобно когда вы хотите хранить дату рождения в столбце DATE и знаете только часть ее.

    Если же дату нельзя преобразовать в какое-нибудь разумное значение, в поле типа DATE заносится 0. Проверка правильности дат не делается - в основном из соображений, связанных со скоростью: мы считаем, что проверкой дат должно заниматься приложение, а не сервер.


    Содержание  Назад  Вперед