Member 13040174 Ответов: 1

Как получить формат даты как март 2017 года из условия where в mysql?


У меня есть формат даты как гггг-ММ-ДД в БД,
Мне нужно искать дату как (имя месяца, год).
В запросе Select я получаю правильное значение,
но как писать в каком состоянии?

Что я уже пробовал:

SELECT 
    E.EmpID,
    E.FirstName,
    (CONCAT(MONTHNAME(date), ', ', YEAR(date))),
    (COUNT(InTime)) AS Present,
    (DAY(LAST_DAY(InTime)) - COUNT(InTime)) AS Absent
FROM
    employee.tblcheck K
        INNER JOIN
    employee.tblemployeedetails E 
    ON E.EmpID = K.EmpID
    group by E.EmpID desc;

1 Ответов

Рейтинг:
1

F-ES Sitecore

Если дата хранится в поле даты, то используйте

Где год (Поле даты) = 2017

Если вы храните дату в varchar или каком-то другом текстовом поле, то не делайте этого. Храните данные в полях, которые отражают их собственный тип, чтобы вы могли делать такие вещи, как поиск, заказ и т. д. Если вам нужна дата в заданном формате, то отформатируйте ее, когда вы придете, чтобы отобразить ее.


Richard Deeming

Было бы лучше сохранить запрос Саргабельным:

WHERE dateField >= '20170101' And dateField < '20180101'