Buy this Reference Manual in softcover from Barnes & Noble!
Существуют следующие типы данных даты и времени: DATETIME
, DATE
, TIMESTAMP
, TIME
и YEAR
. Каждый из них имеет интервал допустимых значений, а также значение ``ноль'', которое используется, когда пользователь вводит действительно недопустимое значение. Отметим, что MySQL позволяет хранить некоторые не вполне достоверные значения даты, например 1999-11-31
. Причина в том, что, по нашему мнению, управление проверкой даты входит в обязанности конкретного приложения, а не SQL-серверов. Для ускорения проверки правильности даты MySQL только проверяет, находится ли месяц в интервале 0-12
и день в интервале 0-31
. Данные интервалы начинаются с 0
, это сделано для того, чтобы обеспечить для MySQL возможность хранить в столбцах DATE
или DATETIME
даты, в которых день или месяц равен нулю. Эта возможность особенно полезна для приложений, которые предполагают хранение даты рождения - здесь не всегда известен день или месяц рождения. В таких случаях дата хранится просто в виде 1999-00-00
или 1999-01-00
(при этом не следует рассчитывать на то, что для подобных дат функции DATE_SUB()
или DATE_ADD
дадут правильные значения).
Ниже приведены некоторые общие соображения, полезные при работе с типами данных даты и времени:
год-месяц-день
(например, '98-09-04'
), а не в порядке месяц-день-год
или день-месяц-год
, т.е. не так, как мы их обычно записываем (например '09-04-98'
, '04-09-98'
).TIME
, которые усекаются до соответствующей граничной точки заданного интервала TIME
). В следующей таблице представлены форматы значения ``ноль'' для каждого из типов столбцов:
Тип столбца | Значение ``Ноль'' |
DATETIME |
'0000-00-00 00:00:00' |
DATE |
'0000-00-00' |
TIMESTAMP |
00000000000000 (длина зависит от количества выводимых символов) |
TIME |
'00:00:00' |
YEAR |
0000 |
NULL
в версии MyODBC 2.50.12 и выше, так как ODBC не оперирует с подобными величинами.DATETIME
, DATE
и TIMESTAMP
TIME
YEAR
Posted by John Hicks on Thursday February 20 2003, @6:19pm | [Delete] [Edit] |
See section 6.3.4, Date and Time Functions, for a description of functions you can use for calculating with and formatting date and time values.
Add your own comment.