2009-07-06 5 views
2

В базе данных MySQL я этот столбец называется:Mysql запрос: получить текущую дату запроса

Имя: Дата

Тип: Дата и время

У меня есть несколько значений в этом столбце:

2009 -01-05 01:23:35

2009-03-08 11:58:11

2009-07-06 10:09:03

Как получить текущую дату? Я использую php.

в PHP:

<?php $today = date('Y-m-d');?> 

Как написать MySQL запрос для получения всех данных даты сегодня?

Должен ли я изменить тип столбца на «дату», а затем вставить значения типа «2009-07-06», без каких-либо значений времени?

ответ

15

Вам не нужно использовать PHP, MySQL имеет функцию, чтобы получить текущую дату:

SELECT field FROM table WHERE DATE(column) = CURDATE() 

Документация: CURDATE, DATE.

Если вашей колонке понадобится только часть даты и никогда не будет времени, вы должны изменить свой тип столбца на DATE. Если вы настаиваете делать это через PHP, это то же самое, на самом деле:

$today = date('Y-m-d'); 
$query = mysql_query(" 
    SELECT field FROM table WHERE DATE(column) = '$today' 
"); 
+0

Это мой последний вариант. Потому что мой часовой пояс сервера отличается от моей страны. Я сохраняю значение даты в своем локальном часовом поясе ... – jingleboy99

+0

Я вижу сходство, но я просто боюсь, на всякий случай, конфликта часового пояса. Итак, я должен сначала изменить свою колонку на «дату»? Большое спасибо за быстрый ответ. – jingleboy99

+0

Если вы измените свой столбец на DATE, вы можете удалить вызов функции DATE() вокруг столбца. Эта функция используется для извлечения DATE из столбца DATETIME для сравнения. Если вам понадобится только DATE, вам следует, вероятно, изменить тип столбца. –

1

За время даты он не Usefull, а я стараюсь это и работает ...

Сегодняшние посетители!

SQL>select user_id from users where last_visit like concat('%' , CURDATE() , '%');

// LAST_VISIT coloumn типа 'даты и времени'

Смежные вопросы