поле даты и времени mysql - PullRequest
       29

поле даты и времени mysql

1 голос
/ 09 октября 2009

Я разбираю фид, который содержит запись «создана в», отформатированную так:

Thu, 08 Oct 2009 23:01:33 +0000

Мне нужно иметь возможность хранить это в таблице MySQL, в типе данных DateTime. Затем я хочу выбрать строки WHERE предложение datetime, равное или находящееся в диапазоне между датами и / или временем.

У меня два вопроса:

  1. Будет ли эта строка приемлемой в качестве типа данных MySQL DateTime?
  2. Если да, какой запрос я должен составить, чтобы получить результаты между датами или часами?

Ответы [ 4 ]

3 голосов
/ 09 октября 2009

Вы можете найти функцию STR_TO_DATE , полезную для анализа даты в mysql.

mysql> SELECT STR_TO_DATE('Thu, 08 Oct 2009 23:01:33 +0000', '%a, %d %b %Y %H:%i:%s +0000');
    -> '2009-10-08 23:01:33'

Доступные форматы такие же, как для DATE_FORMAT

2 голосов
/ 09 октября 2009

MySQL примет строку как дату в следующем формате

YYYY-MM-DD HH:MM:SS

SELECT * FROM tbl WHERE datestamp = '2009-10-08 23:01:33';
1 голос
/ 09 октября 2009

Вы можете сделать что-то в этом духе (на выбранном вами языке), чтобы превратить вашу строку в приемлемую дату и время mysql:

$inputdate = "Thu, 08 Oct 2009 23:01:33 +0000";
$unixdate = strtotime($inputdate); //output: 1255042893
$datetime = date("Y-m-d H:i:s", $unixdate); //output: 2009-10-08 23:01:33

Есть несколько способов найти записи между двумя датами, это мое любимое:

SELECT * FROM table WHERE date >= '2009-07-01 00:00:00' and date <= '2009-10-31 23:59:59'
0 голосов
/ 09 октября 2009
select * from table where date1 between date2 and date3;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...