MySQL преобразовать datetime в unixtime?



У меня есть столбец с форматом DATETIME, и я хотел бы преобразовать его в UNIXTIME в базе данных. Какой запрос будет, что будет?

Я знаю, как преобразовать UNIXTIME в DATETIME,но я никогда не делал обратного. Я использовал FROM_UNIXTIME, разве нет TO_UNIXTIME?

mysql unix-timestamp
Поделиться Источник Unknown     28 августа 2013 в 17:30

2 ответа


  • Как преобразовать значение MySQL datetime в Google chart api datetime

    Я пытаюсь преобразовать значение из поля datetime в базе данных MySQL в значение, которое я могу передать в поле Google chart datetime. Например, значение MySQL: 2012-03-05 17:03:56 . Ссылке Google диаграммы Api: http://code.google.com/Апис/схему/интерактивная/документы/галерея/linechart.html Я…

  • Mysql получить последнюю запись по нескольким строкам от пользователя по datetime или unixtime

    Я попытался поискать в stackoverflow, google.

    В основном я вижу, что мы используем Макса. Но, по моим записям, это будет тысяча строк, так что это займет так много времени, прежде чем оно будет закончено. В принципе, я просто хочу получить последнюю запись к datetime или unixtime. Таблица записей,…



12

Это UNIX_TIMESTAMP . Это будет принимать правильно отформатированный datetime в качестве аргумента.

Поделиться Explosion Pills     28 августа 2013 в 17:31



5

Все в порядке, я все понял.

У меня было ‘article_date’ для первоначальной колонки. Я создал ‘new_date’ для нового столбца.

Тогда я сделал:

UPDATE news SET new_date = UNIX_TIMESTAMP(article_date)

Поделиться Unknown     28 августа 2013 в 18:01


Похожие вопросы:


Как преобразовать 2010-03-01 в Unixtime (используя php)

Как я могу преобразовать 2010-03-01 в unixtime, например 1267452738 (используя php)?


Как преобразовать обычную дату в unixtime в Javascript?

Как я могу преобразовать дату, которая выглядит так 12092008, в unixtime, как это 1221215809


Java конвертировать unixtime на сегодняшний день , дает неверные результаты

Я пытаюсь конвертировать unixtime в date, но результаты, которые я получаю, неверны : например, у меня есть этот unixtime : 1354312800 accurding на этот сайт : Введите описание ссылки здесь.

..


Как преобразовать значение MySQL datetime в Google chart api datetime

Я пытаюсь преобразовать значение из поля datetime в базе данных MySQL в значение, которое я могу передать в поле Google chart datetime. Например, значение MySQL: 2012-03-05 17:03:56 . Ссылке Google…


Mysql получить последнюю запись по нескольким строкам от пользователя по datetime или unixtime

Я попытался поискать в stackoverflow, google. В основном я вижу, что мы используем Макса. Но, по моим записям, это будет тысяча строк, так что это займет так много времени, прежде чем оно будет…


как конвертировать unixtime в yy-mm-dd

Я искал, как преобразовать формат UNIXTIME в YY-MM-DD с помощью javascript, но до сих пор я нашел только методы, чтобы сделать это наоборот (от YY-MM-DD до UNIXTIME). Есть ли какой-нибудь метод, уже…


Преобразование MySQL DATETIME в PHP UNIXTIME

Какой самый простой способ преобразовать MYSQL Datetime в PHP UNIXTIME? Пример: данные из mysql — это 2012-12-31 23:59:59 , а затем они преобразуются в UNIXTIME. $dateTime = ‘2012-12-31 23:59:59’;…


Pandas datetime в unixtime

Я хочу изменить Datetime (2014-12-23 00:00:00) на unixtime. Я попробовал сделать это с помощью функции Datetime, но она не сработала. Я получил марки Datetime в массиве. Zeit…


Преобразование MySQL месяца/года в Datetime или Unixtime

У меня есть столбец MySQL в следующем формате, но как я могу преобразовать его в формат datetime или unixtime. Существующий формат February 2015 Требуемый формат 2015-02-01 00:00:00 Есть идеи, как…


python-преобразование UTC timestamp в unixtime

Я пытаюсь преобразовать свой timestamp в unixtime, обращая внимание на то, что он не является UTC, однако unixtime неверен. import time import datetime from dateutil.parser import parse time_str =…

что лучше всего использовать, Unix TimeStamp или DATETIME PHP Lang

Вероятно, многие программисты хотят задать этот вопрос. это Каковы преимущества каждого из этих форматов времени MySQL. и какой из них вы предпочитаете использовать в своих приложениях.

Для меня я использую временную метку Unix, потому что, возможно, мне легко конвертировать и записывать записи с ней, а также потому, что я никогда не пробовал DATETIME. но в любом случае я готов изменить свое мнение, если кто-нибудь скажет мне, что я неправ.

Временная метка (как PHP, так и MySQL) хранится с использованием 32 битов (т. Е. 4 байта) целых чисел; что означает, что они ограничены диапазоном дат, который идет с 1970 по 2038 год.

DATETIME не имеют этого ограничения, но сохраняются с использованием большего количества байтов (8 байтов, если я не ошибаюсь)

После этого между хранением временных меток, как видно из PHP, или временными метками, как видно из MySQL:

  • использование временных меток PHP означает, что манипуляции проще с PHP – см. Функции даты / времени
  • использование временных меток MySQL означает, что манипуляции проще с MySQL – см.
    11.6. Функции даты и времени

Более подробную информацию о DATETIME данных MySQL TIMESTAMP и DATETIME см . В разделе 10.3.1. Типы DATETIME, DATE и TIMESTAMP

Как отмечали другие, временные метки могут представлять меньший диапазон дат (с 1970 по 2038 год). Тем не менее, временные метки измеряют количество секунд со времен Unix Epoch (1970-01-01 00:00:00 UTC), тем самым делая их независимыми от часового пояса, тогда как DATETIME сохраняет дату и время без часового пояса. Другими словами, временные метки однозначно ссылаются на конкретный момент времени, тогда как точный момент времени, к которому относится DATETIME, требует часовой пояс (который не сохраняется в поле DATETIME). Чтобы понять, почему это имеет значение, подумайте, что произойдет, если мы изменим часовой пояс.

Предположим, мы хотим сохранить дату-время 2010-03-27 12:00 UTC. Если мы сохраним это и выберем его с помощью метки времени или DATETIME, тогда обычно не будет никакой разницы.

Однако, если теперь сервер изменится, так что местный часовой пояс UTC + 01, мы получим два разных результата, если вытащить дату-время.

Если мы установили поле DATETIME, оно сообщило бы о дате времени как 2010-03-27 12:00, несмотря на изменение часового пояса. Если мы установили поле в метку времени, дата будет указана как 2010-03-27 11:00. Это не проблема ни с одним типом данных – это просто результат того, что они хранят немного другую информацию.

Это действительно зависит. Я приведу вам два примера, где один из них можно преодолеть:

Временная метка лучше, чем DATETIME, когда вы хотите сохранить сеанс пользователей в базе данных, а время создания сеанса (в формате Timestamp) используется для быстрого поиска строк (с индексом).

Например, таблица может выглядеть так:
[session_create_time AS Timestamp][IP_address AS 32bit Int][etc...]
Наличие индекса в первых двух столбцах может действительно ускорить ваши запросы. Если у вас есть тип значения DATETIME для поля session_create_time , это может занять гораздо больше времени. Учтите, что запросы сеанса выполняются каждый раз, когда пользователь запрашивает страницу , поэтому эффективность имеет решающее значение.

DATETIME лучше, чем Timestamp, когда вы хотите сохранить дату рождения пользователя или некоторые исторические события, требующие гибкого временного диапазона.

Если оцифровывать записи до 1 января 1970 года, мне нравится эпоха UNIX. Его просто вопрос предпочтения, целые беззнаковые числа проще обрабатывать при использовании нескольких языков.

Просто имейте в виду, что эпоха начинается с 1 января 1970 года. До этого многие компании работали в течение десятилетий, если не дольше.

datetime, timestamp, etc. против unixtime в поле int

В web-приложениях, использующих СУБД MySQL, для хранения даты и/или времени можно:

  1. использовать специальные календарные типы данных(datetime, date, time, timestamp, year)
  2. завести поле с типом INT и вставлять дату/время в UNIXTIME
  3. ну и ещё для кучи — в поле текстового типа хранить дату с своём формате(но это как то айс))

Опишем плюсы и минусы первого варианта

, после анализа которых и будут видны минусы использования второго варианта.

Плюсы первого варианта:

  1. В базе данные даты хранятся компактно. В виде чисел. Формат вида ГГГГ-ММ-ДД ЧЧ:ММ:СС создаётся на лету при запросе.
  2. При занесении данных MySQL пытается разными способами интепретировать полученную дату(т.е. формат даты может быть достаточно вольным, однако надо придерживаться некоторых правил), при выборке MySQL автоматически преобразовывает дату в определённую форму, что может быть удобно.
  3. Есть куча функций для работы с календарными типами данных MySQL.  Это: 1) снимается нагрузку с web-приложения; 2) Упрощает разработку web-приложения.
  4. с timestamp работать очень удобно. Если не указать его явно, то в поле будет автоматически вставляться текущая дата при вставке и обновлениии записи.
  5. возможность задать дату в более широком диапазоне(в типе DATETIME, DATE), чем если бы добавляли UNIXTIME в INT поле.
  6. при использовани поля с типом TIMESTAMP дата возращается клиенту с учётом его часового пояса, при занесении даты в поле такого типа дата так же корректируется на UTC/GMT+0 относительно пояса клиента. Достаточно доходчиво об этом написано здесь http://habrahabr.ru/blogs/mysql/69983/.

Минусы:

  1. MySQL не проверяет дату на корректность. Точнее СУБД проверяет, к примеру, чтобы месяц был от 1 до 12, день месяца от 1 до 31. Но можно занести некорректную дату, к примеру 2010-02-31. Ведь в феврале нет 31-го дня. Но это уже вопрос к web-приложению, поставляющему данные.

Рассмотрим второй вариант.

Плюсы:

  1. Переносимость между различными СУБД. Целочисленный тип есть во всех СУБД, в отличии от календарного. Или же если он(календарный тип) и есть в другой СУБД, то может быть несовместимость. Хотя если нормально экспортировать базу с календарными типами, выбрав опцию ‘совместимость дампа с такой то СУБД’, то проблем быть не должно.

Минусы(по сути отсутствие плюсов от первого варианта — это и есть большой минус второго):

  1. ручная обработка данных, средствами web-приложения.
  2. нагрузка по обработке данных переходит на web-приложение.
  3. чем больше код(код для обработки данных), тем больше ошибок, тем сложнее разрабатывать и поддерживать продукт.
  4. хранение даты в малом диапазоне.
  5. работу с часовыми поясами придётся возложить на web-приложение.

Про третий вариант я молчу. Это просто не дело. Ведь должна же быть среди разработчиков хоть какая то договорённость. А хранить дату в своём формате это плохо. С датой в таком виде(в текстовом поле) многое придётся делать самому: преобразование, сортировка и т.д. Функции для работы с датами не будут работать с этими данными.

По логике вещей календарные типы придуманы не зря и использовать нужно именно их. Не надо забивать гвозди лопатой.

FROM_UNIXTIME () Примеры — MySQL | Database.Guide

Функция MySQL FROM_UNIXTIME () позволяет вам возвращать представление даты метки времени Unix.

В частности, он возвращает временную метку Unix как значение в формате «ГГГГ-ММ-ДД ЧЧ: ММ: СС» или ГГГГММДДЧЧММСС , в зависимости от того, используется ли функция в строковом или числовом контексте.

Синтаксис

Вы можете использовать любую из следующих двух форм:

 FROM_UNIXTIME (unix_timestamp)
FROM_UNIXTIME (unix_timestamp, формат)
 

Аргумент unix_timestamp — это внутреннее значение отметки времени (например, это может быть создано с помощью функции UNIX_TIMESTAMP () ).

Аргумент (необязательный) формат позволяет указать, как должен быть отформатирован результат. Допустимые форматы см. В таблице внизу этой статьи.

Пример 1 — Основное использование

Вот пример, демонстрирующий первую форму синтаксиса.

 ВЫБРАТЬ FROM_UNIXTIME (946562400) КАК Результат;
 

Результат:

 + --------------------- +
| Результат |
+ --------------------- +
| 1999-12-31 00:00:00 |
+ --------------------- + 

Пример 2 — Дробные секунды

В этом примере я предоставляю аргумент, который включает доли секунды.

 ВЫБРАТЬ FROM_UNIXTIME (946609199. 999999) как результат;
 

Результат:

 + ---------------------------- +
| Результат |
+ ---------------------------- +
| 1999-12-31 12: 59: 59.999999 |
+ ---------------------------- + 

Пример 3 — Форматирование результата

В этом примере я предоставляю второй аргумент, который указывает, как должен быть отформатирован результат.

 SELECT FROM_UNIXTIME (946562400, '% W,% D% M% Y') как результат;
 

Результат:

 + ---------------------------- +
| Результат |
+ ---------------------------- +
| Пятница, 31 декабря 1999 г. |
+ ---------------------------- + 

А вот тот, который включает в себя время в форматировании:

 SELECT FROM_UNIXTIME (946609199, '% h:% i% p,% D% M% Y') КАК Результат;
 

Результат:

 + ------------------------------ +
| Результат |
+ ------------------------------ +
| 12:59, 31 декабря 1999 г. |
+ ------------------------------ + 

Пример 4 — Числовой контекст

Если FROM_UNIXTIME () используется в числовом контексте, итоговая дата предоставляется в числовом формате.

Вот пример сравнения результатов при использовании в строковом контексте с числовым.

 ВЫБРАТЬ
    FROM_UNIXTIME (946562400) Как "Строка",
    FROM_UNIXTIME (946562400) + 0 как «числовой»;
 

Результат:

 + --------------------- + ---------------- +
| Строка | Числовой |
+ --------------------- + ---------------- +
| 1999-12-31 00:00:00 | 19991231000000 |
+ --------------------- + ---------------- + 

Доступные спецификации

Следующие спецификаторы могут использоваться для указания формата возврата.Значение формата должно начинаться со знака процента (% ).

Спецификатор Описание
% а Сокращенное название дня недели ( вс .. сб )
% б Сокращенное название месяца ( янв .. декабрь )
% в Месяц, числовой ( 0 . . 12 )
% D День месяца с английским суффиксом ( 0-й , 1-й , 2-й , 3-й ,…)
% d День месяца, числовой ( 00 .. 31 )
% e День месяца, числовой ( 0 .. 31 )
% из микросекунд ( 000000 .. 999999 )
% В Час ( 00 .. 23 )
% в Час ( 01 .. 12 )
% I Час ( 01 .. 12 )
% i Минуты, числовые ( 00 .. 59 )
% j День года ( 001 . . 366 )
% к Час ( 0 .. 23 )
% л Час ( 1 .. 12 )
% M Название месяца ( Январь .. декабря )
% м Месяц, числовой ( 00 .. 12 )
% п AM или PM
% r Время, 12 часов ( чч: мм: сс , за которым следует AM или PM )
% S секунд ( 00 .. 59 )
% s секунд ( 00 .. 59 )
% Т Время, 24 часа ( чч: мм: сс )
% U Неделя ( 00 . . 53 ), где воскресенье — первый день недели; НЕДЕЛЯ () режим 0
% и Неделя ( 00 .. 53 ), где понедельник — первый день недели; НЕДЕЛЯ () режим 1
% В неделя ( 01 .. 53 ), где воскресенье — первый день недели; НЕДЕЛЯ () режим 2; используется с % X
% против Неделя ( 01 .. 53 ), где понедельник — первый день недели; НЕДЕЛЯ () режим 3; используется с % x
% Вт Название дня недели ( Воскресенье .. Суббота )
% w День недели ( 0 = воскресенье.. 6 = суббота)
% X Год недели, где воскресенье — первый день недели, числовое, четырехзначное; используется с % V
% x Год недели, где понедельник — первый день недели, числовой, четырехзначный; используется с % v
% Y Год, числовое, четыре цифры
% y Год, числовой (две цифры)
%% Буквальный % символ
% x x , для любых « x », не указанных выше

FROM_UNIXTIME () функция в MySQL — функция GeeksforGeeks

FROM_UNIXTIME () в MySQL

FROM_UNIXTIME ():
Эта функция в MySQL помогает возвращать представление даты / DateTime временной метки Unix. Формат возвращаемого значения будет «ГГГГ-ММ-ДД ЧЧ: ММ: СС» или «ГГГГММДДЧЧММСС», в зависимости от контекста функции.

Синтаксис:

 FROM_UNIXTIME (unix_timestamp, формат) 

Параметры:
Функция может принимать два аргумента следующим образом.

  • unix_timestamp —
    Это внутреннее значение отметки времени, и его значение может быть создано функцией UNIX_TIMESTAMP ().
  • формат —
    Способ форматирования результирующего значения

Результат:
Функция вернет представление date / DateTime временной метки Unix.И формат возвращаемого значения будет «ГГГГ-ММ-ДД ЧЧ: ММ: СС» или «ГГГГММДДЧЧММСС», в зависимости от контекста функции.

Пример-1:
Работа функции FROM_UNIXTIME () с одним параметром.


 ВЫБРАТЬ ИЗ_UNIXTIME (599462400)
AS Unix; 

Выход:

Пример-2:
Работа функции FROM_UNIXTIME () с дробными секундами.

 ВЫБРАТЬ ИЗ_UNIXTIME (599462445.99999)
AS Unix; 

Выход:

Unix

1988-12-29 22:20:45.99999

Пример 3:
Работа функции FROM_UNIXTIME () при передаче обоих параметров.

  • При формате «% W,% D% M% Y» —
     ВЫБРАТЬ FROM_UNIXTIME (799462445; '% W,% D% M% Y')
    AS Unix; 

    Выход:

    Unix

    Вторник, 2 мая 1995 года
  • При формате «% h:% i% p,% D% M% Y» —
     ВЫБРАТЬ FROM_UNIXTIME (799462445, '% h:% i% p,% D% M% Y')
    AS Unix; 

    Выход:

    Unix

    18:54, 2 мая 1995 г.

Пример-4:
Работа функции FROM_UNIXTIME () в числовом контексте.

ВЫБРАТЬ
FROM_UNIXTIME (846562400) Как 'String_form',
FROM_UNIXTIME (846562400) + 1 как 'Числовая_форма'; 

Выход:

String_form Числовая_форма
1996-10-28 21:13:20 19961028211321

Как выполнить FROM_UNIXTIME () в TEIID SQL в производной таблице.

Отправлено 14 мая 2014 г. в 15:43

В Jasperreports Server v5.5.1, Конструктор домена, используя виртуальный источник данных, объединяющий две базы данных MySQL, я пытаюсь использовать FROM_UNIXTIME () для преобразования временной метки unix.

Запрос выглядит так:

 ВЫБРАТЬ uid, имя, почту, создано, доступ, FROM_UNIXTIME (доступ) AS access_date FROM JNDI_Community_Replicant.users 

Запрос обнаружил ошибку:

 com.jaspersoft.commons.semantic.metaapi.MetaDataException: невозможно выполнить запрос JDBC.
org.teiid.jdbc.TeiidSQLException: TEIID30070 Функция FROM_UNIXTIME (доступ) является допустимой формой функции,
но аргументы не соответствуют сигнатуре известного типа и не могут быть преобразованы с помощью неявного преобразования типов.

Таблица создания MySQL выглядит так:

 СОЗДАТЬ ТАБЛИЦУ `users` (
  `uid` INT (10) UNSIGNED NOT NULL ПО УМОЛЧАНИЮ '0' COMMENT 'Первичный ключ: уникальный идентификатор пользователя. ',
  `name` VARCHAR (60) NOT NULL DEFAULT 'COMMENT' Уникальное имя пользователя. ',
  `pass` VARCHAR (128) NOT NULL DEFAULT 'COMMENT' Пароль пользователя (хешированный). ',
  `mail` VARCHAR (254) DEFAULT 'COMMENT' Адрес электронной почты пользователя. ',
  `theme` VARCHAR (255) NOT NULL DEFAULT 'COMMENT' Тема пользователя по умолчанию. ',
  `signature` VARCHAR (255) NOT NULL DEFAULT 'COMMENT' Подпись пользователя.',
  `signature_format` VARCHAR (255) DEFAULT NULL COMMENT 'filter_format.format для подписи.',
  `created` INT (11) NOT NULL ПО УМОЛЧАНИЮ '0' КОММЕНТАРИЙ 'Отметка времени, когда был создан пользователь.',
  `access` INT (11) NOT NULL ПО УМОЛЧАНИЮ '0' КОММЕНТАРИЙ 'Отметка времени предыдущего доступа пользователя к сайту.',
  `login` INT (11) NOT NULL ПО УМОЛЧАНИЮ '0' COMMENT 'Отметка времени последнего входа пользователя.',
  `status` tinyint (4) NOT NULL ПО УМОЛЧАНИЮ '0' КОММЕНТАРИЙ 'Активен ли пользователь (1) или заблокирован (0).',
  `timezone` VARCHAR (32) DEFAULT NULL COMMENT 'Часовой пояс пользователя. ',
  `language` VARCHAR (12) NOT NULL DEFAULT 'COMMENT' Язык пользователя по умолчанию. ',
  `picture` INT (11) NOT NULL ПО УМОЛЧАНИЮ '0' КОММЕНТАРИЙ 'Внешний ключ: file_managed.fid изображения пользователя.',
  `init` VARCHAR (254) DEFAULT '' COMMENT 'Адрес электронной почты, используемый для первоначального создания учетной записи.',
  `data` longblob COMMENT 'Сериализованный массив пар значений имени, связанных с пользователем. Любые значения формы, отправленные во время редактирования пользователем, сохраняются и загружаются в объект $ user во время user_load (). Использование этого поля не рекомендуется, и оно, вероятно, исчезнет в будущем... ',
  ПЕРВИЧНЫЙ КЛЮЧ (`uid`),
  УНИКАЛЬНЫЙ КЛЮЧ `name` (` name`),
  КЛЮЧ `access` (` доступ`),
  КЛЮЧ `created` (` created`),
  КЛЮЧ `mail` (` mail`),
  КЛЮЧ `picture` (` изображение`),
  КЛЮЧ `логин` (` логин`),
  КЛЮЧ `status` (` статус`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8 COMMENT = 'Сохраняет данные пользователя.'; 

Итак, доступ определяется как INT (11). Таблица является частью БД Drupal 7.

Что мне нужно сделать, чтобы это работало?

Зарегистрирован: 25 мая 2012 г. — 11:10

Последний визит: 14 часов 9 минут назад

Отправлено 14 мая 2014 г. в 17:00

Хотя использование FROM_UNIXTIME () таким образом отлично работает с запросом JDBC MySQL, я считаю, что, поскольку отношение типов в таблице набрано как INT, а не временная метка, невозможно использовать FROM_UNXITIME () TEIID. Функция SQL на нем.Это означает, что я не могу использовать виртуальный источник данных в этом домене. См. Справочное руководство TEIID по явным и неявным преобразованиям типов.

Зарегистрирован: 25 мая 2012 г. — 11:10

Последний визит: 14 часов 9 минут назад

Как преобразовать метку времени в формат даты и времени в MySql

Как преобразовать метку времени в формат даты и времени в MySql. Поскольку метка времени не является удобочитаемым форматом, во многих случаях нам необходимо преобразовать метку времени в формат даты и времени.

Мы можем легко преобразовать столбец MySql Timestamp в формат даты и времени, используя встроенную функцию MySql. В этом руководстве мы узнаем, как преобразовать метку времени в удобочитаемый формат даты и времени.

MySql Interview Questions

Разница между внутренним соединением и левым соединением

Как преобразовать метку времени в формат даты и времени в MySql

MySql предоставляет метод FROM_UNIXTIME () , с помощью которого вы можете легко преобразовать метку времени в дату и время формат.

Синтаксис:

FROM_ UNIXTIME (unix_timestamp, [формат])

FROM_ UNIXTIME (unix_timestamp, [формат])

Он принимает временную метку в качестве аргумента и выводит значение в формате ‘ ДДГГГ-ММ ЧЧ: ММ: SS ‘формат. Вы также можете преобразовать метку времени в другие форматы с помощью модификаторов.

Преобразование метки времени в формат даты и времени в Mysql


// Распечатать текущую дату и время ВЫБРАТЬ from_unixtime (unix_timestamp ()) /* Выход */ 2014-12-26 12:17:42

// Распечатать текущую дату и время

SELECT from_unixtime (unix_timestamp ())

/ * Вывод * /

26.12.2014 12: 17:42


// Преобразование метки времени ввода в дату и время.выберите from_unixtime (отметка времени) из имени таблицы;

// Преобразование метки времени ввода в дату и время.

выберите from_unixtime (временная метка) из имени таблицы;


1. Как извлечь дату из метки времени в MySQL

Мы узнали, как преобразовать метку времени в формат даты и времени. Предположим, нам нужно извлечь только часть даты, поскольку мы не хотим печатать время.

Чтобы извлечь и распечатать дату, мы можем написать такой запрос DATE (FROM_UNIXTIME (timestamp)) .

Как установить MySql workbench

Сначала FROM_UNIXTIME преобразует метку времени в формат даты и времени, а затем мы используем функцию DATE для извлечения даты.

/ * Извлекаем и распечатываем дату * / mysql> ВЫБРАТЬ ДАТУ (FROM_UNIXTIME (unix_timestamp ())) как дату; + ———— + | дата | + ———— + | 2016-06-26 | + ———— + 1 строка в наборе (0,00 сек)

/ * Давайте извлечем и распечатаем дату * /

mysql> SELECT DATE (FROM_UNIXTIME (unix_timestamp ())) as date;

+ ———— +

| дата |

+ ———— +

| 2016-06-26 |

+ ———— +

1 ряд в наборе (0.00 сек)

/ * Аналогично вы используете имя столбца * / выберите ДАТУ (FROM_UNIXTIME (имя столбца)) из имени таблицы;

/ * Аналогичным образом вы используете имя столбца * /

выберите ДАТУ (FROM_UNIXTIME (имя столбца)) из имени таблицы;

2. Как извлечь время из метки времени в MySQL

Чтобы напечатать только время, мы можем использовать TIME (FROM_UNIXTIME (timestamp)) .

// Выводит только время mysql> ВЫБРАТЬ ВРЕМЯ (FROM_UNIXTIME (unix_timestamp ())) как время; + ———- + | время | + ———- + | 16:46:02 | + ———- + 1 ряд в комплекте (0.00 сек)

// Выводит только время

mysql> ВЫБРАТЬ ВРЕМЯ (FROM_UNIXTIME (unix_timestamp ())) как время;

+ ———- +

| время |

+ ———- +

| 16:46:02 |

+ ———- +

1 строка в наборе (0,00 сек)

Метод Time () печатает время в формате ЧЧ: ММ: СС . Далее вы можете извлечь и распечатать час. Для этого MySql предоставляет метод HOUR () .Требуется время как аргумент и час печати.

mysql> ВЫБРАТЬ ЧАС (FROM_UNIXTIME (unix_timestamp ())) как час; + —— + | час | + —— + | 16 | + —— + 1 строка в наборе (0,00 сек)

mysql> SELECT HOUR (FROM_UNIXTIME (unix_timestamp ())) как час;

+ —— +

| час |

+ —— +

| 16 |

+ —— +

1 строка в наборе (0,00 сек)

3. Функция DATE_FORMAT () в MySQL

Форматирует значение даты и времени в соответствии с указанной вами строкой формата .

Синтаксис: DATE_FORMAT (дата, формат)

Синтаксис:

DATE_FORMAT (дата, формат)

Время только печати

SELECT DATE_FORMAT (FROM_UNIXTIME (unix_timestamp ()), ‘% H:% i:% s’)

SELECT DATE_FORMAT (FROM_UNIXTIME (unix_timestamp ()), ‘% H:% i:% s’)

Аналогичным образом вы можете распечатать дату и время в любом формате. Вот список спецификаторов формата, используемых DATE_FORMAT ()

% a для названия дня недели (Вс..Сидел) % b название месяца (янв .. дек) % c Месяц, числовой (0..12) % D День месяца с английским суффиксом (0, 1, 2, 3,…) % d День месяца, числовой (00..31) % e День месяца, числовой (0..31) % f микросекунд (000000..999999) % Час (00..23) % h Час (01. .12) % I час (01..12) % i Минуты, числовые (00..59) % j День года (001..366) % k час (0..23) % l час (1..12) % M Название месяца (январь.. декабрь) % m Месяц, числовой (00..12) % p AM или PM % r Время, 12 часов (чч: мм: сс с последующим AM или PM) % S секунд (00..59) % s секунд (00..59) % T Время, 24 часа (чч: мм: сс) % U Week (00..53), где воскресенье — первый день недели; НЕДЕЛЯ () режим 0 % u Неделя (00..53), где понедельник — первый день недели; НЕДЕЛЯ () режим 1 % V неделя (01..53), где воскресенье — первый день недели; WEEK () режим 2; используется с% X % v Неделя (01..53), где понедельник — первый день недели; WEEK () режим 3; используется с% x % W Название дня недели (воскресенье .. суббота) % w День недели (0 = воскресенье..6 = суббота) % X Год для недели, где воскресенье — первый день недели, числовое, четырехзначное; используется с% V % x Год недели, где понедельник — первый день недели, числовое, четырехзначное; используется с% v % Y Год, числовое, четыре цифры % y Год, числовое (две цифры) %% Буквальный символ «%» % x x, для любого «x», не указанного выше

1

2

3

4

5

6

7

8

9

10

11 12

13

14

15

16

17

18

19

20

21

22

23

24

25

000

0002 25

000

000

29

30

31

32

33

% a для названия дня недели (вс. .Sat)

% b название месяца (январь.. декабря)

% c Месяц, числовой (0..12)

% D День месяца с английским суффиксом (0, 1, 2, 3,…)

% d День месяца, числовой (00..31)

% e День месяца, числовой (0..31)

% f Микросекунды (000000..999999)

% Час Час (00 ..23)

% h Час (01..12)

% I Час (01..12)

% i Минуты, числовые (00..59)

% j День года (001 .. 366)

% k Час (0..23)

% l Час (1..12)

% M Название месяца (январь.. декабрь)

% m Месяц, числовой (00..12)

% p AM или PM

% r Время, 12 часов (чч: мм: сс, за которыми следует AM или PM)

% S Секунды (00..59)

% S Секунды (00..59)

% T Время, 24 часа (hh : mm: ss)

% U Week (00..53), где воскресенье — первый день недели; WEEK () mode 0

% u Неделя (00..53), где понедельник — первый день недели; Режим WEEK () 1

% V Неделя (01..53), где воскресенье — первый день недели; WEEK () режим 2; используется с% X

% v Неделя (01.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *