muzruno.com

Как да използвате в MySQL: време и дата

MySQL дава на разработчика възможността да работи с времето по различни начини. Има данни за описване на полетата в таблици. Има много функции за използване в заявките. Налична временна локализация и промяната на часови зони в сесиите, настройките на MySQL и използването на времето на операционната система.

MySQL timestamp

Отговорността за прилагането на типовете данни и промяната на часовите зони е на разработчика, който трябва да вземе предвид времето и времето на сървъра на клиента. Те не винаги съвпадат.

Описание на таблици с полета за време

Примерът описва три начина за представяне на времето. Две - тип MySQL клеймото (start_timestamp, next_timestamp), един - като MySQL час и дата (start_datetime) и опция за употреба под формата на символен низ (work_income).

Примерът на автора не е картина

клеймото Тип - е роден на събитие формат MySQL засичане на времето е 8 байта, е цяло число и има една особеност: в първата колона се попълва автоматично в момента на създаването: молба (1). Втората и всички останали - остават нулеви, но това не е NULL. Заявката (2) съдържа функция MySQL timestamp now (), която се използва за попълване на полето start_datetime.

Примерът на автора не е картина

В този пример се вижда, че генерираната от заявката таблица (1, създаване на таблицата) ще запълни първата колона на start_timestamp с машината автоматично при създаването на таблицата. Заявката (2, попълване на таблицата) показва, че това е така. Втората колона на next_timestamp остава нула: всички компоненти на датата и часа се представят като "0" във всички позиции, но не и NULL като цялото поле.

Ако искането за премахване на справката за полето start_datetime и сегашната функция (), полето start_datetime ще съдържа стойността NULL. В горната част на снимката е показана таблицата с помощта на функцията за запълване, а в долната част е таблицата, без да се използва сега (). Разликите са значителни.

Unix време и потребителско време

Полета за таблици за тагове на MySQL Времето във времето се различава при попълването и употребата. Например, опцията:

  • int mktime ([int час [, int минута [int int [, int ...


е налице за поле от тип datetime, докато полето за времеви маркери е по-ориентирано към функциите на самия език на MySQL.

За да използвате полетата за времето най-ефективно и безопасно, препоръчително е да се съсредоточите върху начина на работа с MySQL timestamp в предложената функционалност, тъй като нейната цел, която се определя от самата база данни. Това е нейният собствен времеви печат, форматът за представяне на времето.

MySQL timestamp сега

Типът дата-време е по-относим към времето в изгледа на Unix и може да се свърже например с функцията PHP mktime () или с формат на обикновен текст, например:

Примерът на автора не е картина

Тук променливата $ cStndDate е обикновен текст, който се интерпретира в заявката като нещо, написано във формат дата / час. Ако променливата е зададена правилно, желаната стойност се записва в задължителното поле на таблицата.

Времето на потребителя е изискването за задачата. Не винаги е необходимо да представяте в базата данни всички права за управление на времето. Тя винаги прави всичко по свой начин. Това не винаги е правилно, например, имаме нужда от имената на руските месеци или специална поръчка за записване на деня, месеца и годината.

Часови зони и правилна логика

Работа с времевия маркер на MySQL необходимостта от грижи и точност. Друго нещо - своето дата формат, написана в обикновен текст. Вярно е, че в този случай се губят предимствата на стандартните типове дата, например сортиране или изчисляване на датите, но се появяват желаните ползи.

mysql timestamp

Във всеки случай разработчикът трябва да бъде изключително внимателен. Часовите зони, настройките за локализация и много други нюанси могат да създадат определено недоразумение. Ако нещо се случи да работи с дата с NULL или нули на всички позиции, трябва първо да потърсите грешка в собствения си алгоритъм. MySQL, полетата за дата и функцията за време работят изключително стабилно и правилно.

Споделяне в социалните мрежи:

сроден