Страницы

Поиск по вопросам

понедельник, 24 февраля 2020 г.

Подсчет строк в строке. SQL

#mysql #sql


Определить какие экзамены были в месяце Х (Например, в Июне)
Не знал как реализовать голова дошла до следующего:

SELECT COUNT(*)// Если правильно понял то звездочка перехватывает все имеющиеся значения.
FROM Exam_st// Это таблица экзаменов
WHERE Date = '2015.06.%' // Date (это столбец в котором указаны даты)


Прошу подскажите как исправить следующую ошибку? 


  Сообщение 241, уровень 16, состояние 1, строка 1 
  
  Ошибка преобразования даты или времени из символьной строки.

    


Ответы

Ответ 1



WHERE DATE(Date) BETWEEN '2015-06-01' AND '2015-06-31'

Ответ 2



В общем верно, только вместо знака равно, следует задействовать оператор LIKE, раз вы используете шаблон % SELECT COUNT(*) AS total FROM Exam_st WHERE `Date` LIKE '2015_06%' Использовал знак подчеркивания _ - любой символ, так как не понятно, у вас в поле Date строка с собственным разделителем или DATE-значение. С подчеркиванием выражение будет работать с любым разделителем.

Комментариев нет:

Отправить комментарий