Компонент часу стрічки Mysql з дати та часу


90

Мені потрібно зробити порівняння дат у Mysql без урахування часової складової, тобто мені потрібно перетворити "2008-11-05 14:30:00" у "2008-11-05"

На даний момент я роблю це:

SELECT from_days(to_days(my_date))

Чи є правильний спосіб зробити це?

Відповіді:



14

select date(somedate) є найпоширенішим.

Якщо вам потрібно розмістити інші формати, ви можете використовувати:

SELECT DATE_FORMAT(your_date, '%Y-%m-%d');

2
DATE_FORMAT дуже корисний, наприклад, для вилучення компонента року. Дякую.
Маріо Авад,

3

У PostgreSQL ви використовуєте функцію TRUNC (), але я не бачу її для MySQL. З мого короткого вишукування, схоже, вам потрібно буде присвоїти значення DATETIME просто DATE.

date_col = CAST(NOW() AS DATE)

Див. Http://dev.mysql.com/doc/refman/5.0/en/date-and-time-types.html


1
date_trunc()(не trunc()) насправді не видалить часову частину в Postgres. Це просто встановило б 00:00:00щось інше.
a_horse_with_no_name

0

Просто простий спосіб зробити це date("d F Y",strtotime($row['date']))там, де $row['date']випливає з вашого запиту


-5

Ви могли б використовувати ToShortDateString();


Хіба це не функція C #? Питання полягає у вирішенні MySQL
andrewsi

Це C #, і насправді він не видаляє позначку часу: Перетворює значення поточного об'єкта DateTime у його еквівалентне подання рядка короткої дати.
Nizar B.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.