У меня есть таблица в базе данных MySQL, настроенная с помощью DATETIME
. Мне нужно SELECT
в этой таблице только по ДАТЕ и без учета времени.
Как мне войти SELECT
в эту таблицу только по дате и минуя время, даже если для этого конкретного столбца установлено значение DATETIME
?
пример
Теперь это:
2012-01-23 09:24:41
Мне нужно сделать SELECT
только для этого:2012-01-23
Ответы:
SELECT DATE(ColumnName) FROM tablename;
Подробнее о функции MySQL DATE () .
источник
вы можете использовать date_format
для часового пояса
источник
Вы можете использовать
select DATE(time) from appointment_details
только датуили
Вы можете использовать
select TIME(time) from appointment_details
только времяисточник
Попробуйте использовать
на сегодня:
на выбранную дату:
источник
В MYSQL есть функция под названием DATE_FORMAT (дата, формат) . В вашем случае ваш оператор выбора будет таким: -
SELECT DATE_FORMAT(dateTimeFieldName,"%a%m%Y") as dateFieldName FROM table_name
Для получения дополнительной информации о функциях Mysql DATE и TIME щелкните здесь.
источник
Просто вы можете сделать
источник
Я пробовал сделать
SELECT DATE(ColumnName)
, но это не работает дляTIMESTAMP
столбцов †, потому что они хранятся в формате UTC, а дата в формате UTC используется вместо преобразования в местную дату. Мне нужно было выбрать строки, относящиеся к определенной дате в моем часовом поясе, поэтому, объединив мой ответ на этот другой вопрос с ответом Баласвами Ваддемана на этот вопрос , я сделал следующее:Если вы храните даты как
DATETIME
Просто сделать
SELECT DATE(ColumnName)
Если вы храните даты как
TIMESTAMP
Загрузите данные часового пояса в MySQL, если вы еще этого не сделали. Для серверов Windows см. Предыдущую ссылку. Для серверов Linux, FreeBSD, Solaris и OS X вы должны:
Затем отформатируйте свой запрос следующим образом:
Вы также можете поместить это в
WHERE
часть запроса, подобную этой (но обратите внимание, что индексы в этом столбце не будут работать):(Очевидно, замените
America/New_York
ваш местный часовой пояс.)† Единственным исключением является случай, если ваш часовой пояс - GMT, и вы не переходите на летнее время, потому что ваше местное время совпадает с UTC.
источник
Попробуйте,
SELECT * FROM Profiles WHERE date(DateReg)=$date
где $ date находится в гггг-мм-ддальтернативно
SELECT * FROM Profiles WHERE left(DateReg,10)=$date
ура
источник
Йо может попробовать это:
Если вы проверите следующее:
Вы видите, что на это уходит много времени.
источник
источник
Пожалуйста, попробуйте этот ответ.
источник
использование
DATE_FORMAT
пример:
источник
Его можно использовать для получения даты в формате «гггг-мм-дд».
источник
если столбец времени находится на отметке времени, вы получите значение даты из этой отметки времени, используя этот запрос
источник
В интересах реального решения этого вопроса:
Очевидно, вы можете изменить функцию NOW () на любую дату или переменную, какую захотите.
источник