#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(), который возвращает как дату, так и время.