@Mikilian

Как построить запрос по выборке состоящей из дат?

Есть данные 07.08.2022 такого формата
spoiler
10.09.2022
07.08.2022
10.10.2022
10.10.2022
10.10.2022
10.10.2022
01.09.2022
10.10.2022
10.10.2022
01.07.2022
10.10.2022
10.10.2022

пытаюсь получить доступ только к тем, у которых первое и втрое знач. = 10
spoiler
10.10.2022
10.10.2022
10.10.2022
10.10.2022
10.10.2022
10.10.2022
10.10.2022
10.10.2022

В таблице они хранятся как VARCHAR(50)
SELECT last_control_milking_date 
  FROM milktable 
  WHERE last_control_milking_date == "10.10.2022" and
 [farm_name]="${FarmName}"`

но выводит весь список дат.
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat
{PHP, MySql, HTML, JS, CSS} developer
sql запрос по выборке состоящей из дат?
Не из дат, а из строк, то что вы думаете о них как о датах, таковыми их не делает.

в самой таблице бд они хранятся как VARCHAR(50)
Тадааам! Вот и ответ на вопрос "а зачем все эти стопитьсот типов, когда есть варчар?" Это раз. Ну а в случае скулайта - хотя бы соблюдать формат ISO8601 и использовать соответствующие функции.
Ну и второе - last_control_milking_date == "10.10.2022" с двумя "равно".

Ну и по мелочи:
- судя по переменным внутри запроса это из пхп, но переменная sql не имеет $ (возможно просто опечатка?).
- зачем farm_name в квадратных скобках, есть общепринятый формат выделения полей через `` кавычки, что позволяет запросу быть "кроссплатформенным"?
- ну и классика - почему не используются подготовленные запросы?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы