2015-12-10 3 views
0

Я сделал заявление SQL, и я хочу использовать дату, но без времени.Как выбрать дату и игнорировать время

Мой Выбор есть:

SELECT DATEPART(dw, [Order].PerformDate) 

И моя группа по это:

GROUP BY [Order].PerformDate 

Теперь, как я могу игнорировать время?

+0

см ** [дата MySQL()] (http://www.w3schools.com/sql/func_date.asp) ** функция – amdixon

+0

дубликата из [datetime-mysql-select-only-date] (http://stackoverflow.com/questions/9032047/datetime-mysql-select-only-date) – amdixon

+1

Я не думаю, что 'datepart' является функцией MySQL. Вы уверены, что это MySQL с 'datapart', который вы используете? –

ответ

2

Вы можете использовать CONVERT функцию SQL

select datepart(dw, CONVERT(DATE,[Order].PerformDate)) 
GROUP BY CONVERT(DATE,[Order].PerformDate) 
1

Cast значение даты и времени на сегодняшний день:

select cast(`Order`.PerformDate as date) as PerformDate 
1

GROUP BY говорит: "Я хочу, чтобы один результирующий ряд за ____". В вашем случае одна строка на каждый элемент PerformDate. Если PerformDate является DateTime, но вы только хотите иметь один результат строку на дату без времени, то вы должны извлечь часть даты:

group by cast(performdate as date) 

Вы также хотите, чтобы отобразить будний день с datepart(dw, performdate), но это уже можно не , потому что PerformDate больше не доступен. Только его дата. Итак:

select datepart(dw, cast(performdate as date)) 
from ... 
group by cast(performdate as date); 
0

Еще один метод:

select date_format(`order`.PerformDate, '%Y%m%d') 
... 
group by 1