Работа с датами в mysql

Тема в разделе "Базы данных", создана пользователем verfaa, 21 апр 2013.

Статус темы:
Закрыта.
Модераторы: latteo
  1. verfaa

    verfaa

    Регистр.:
    29 янв 2007
    Сообщения:
    374
    Симпатии:
    41
    В поле end_date хранится дата типа datetime (в виде 2013-04-20 07:21:36, 2013-04-28 02:23:46 и т. д.)

    Как написать запрос, который бы делал выборку полей, в которых дата end_date уже прошла на данный момент (используя текущее время на сервере)?
     
  2. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    634
    Симпатии:
    1.407
    Как вариант
    Код:
    SELECT * FROM `table` WHERE UNIX_TIMESTAMP(`end_date`) < UNIX_TIMESTAMP(NOW())
     
  3. nethare

    nethare Постоялец

    Регистр.:
    27 окт 2012
    Сообщения:
    104
    Симпатии:
    30
    А зачем использовать UNIX_TIMESTAMP()? MySQL даты вроде и так должна уметь сравнивать, у ТС там тип datetime.
     
  4. ne4to

    ne4to Постоялец

    Регистр.:
    16 ноя 2012
    Сообщения:
    107
    Симпатии:
    50
    (с) Перейти по ссылке
     
    verfaa нравится это.
  5. pslava

    pslava

    Регистр.:
    16 май 2007
    Сообщения:
    618
    Симпатии:
    122
    можно select * from table_name where `end_date`<NOW()
    с точностью до секунды
     
Статус темы:
Закрыта.