Базовый запрос SQL CURRENT_TIME ()

#mysql #sql #database

#mysql #sql #База данных

Вопрос:

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

 SELECT * FROM G_CARD_SCHEDULE WHERE TIME_TO_BE_SENT < CURRENT_TIME()
  

И в таблице есть следующий столбец

TIME_TO_BE_SENT = 2010-10-08 00:57:50

Но SQL по-прежнему возвращает 0 строк, что не так?

Комментарии:

1. каков тип данных TIME_TO_BE_SENT ?

Ответ №1:

CURRENT_TIME() возвращает только время, а не дату и время.

Возвращает текущее время в виде значения в ‘HH: MM: SS’

Попробуйте с NOW() помощью . Более подробную информацию см. в разделе «Функции даты и времени«.

Ответ №2:

Sql-движки имеют разные имена функций для текущего времени для поиска My-sql в CURRENT_TIMESTAMP

 select CURRENT_TIMESTAMP;
  

Ответ №3:

В mysql вы можете использовать NOW(), а в sql вы можете использовать CURRENT_TIMESTAMP() для этого формата

Ответ №4:

Возможно, вы также захотите использовать current_date() … поскольку current_time делает то, что, по-видимому, делает … возвращает текущее время и только время.

Другим вариантом является now(), который возвращает как дату, так и время.