/ / Как да проверя дали датата е между две дати mysql? - mysql, форматиране на дата, диапазон от дати

Как да проверите дали дадена дата е между две дати на MySQL? - mysql, форматиране на дата, диапазон от време

Изпитвам дати от базата данни на mysql. Когато се опитвам да избера само датите между определена от и до дата, не получавам очакваните резултати.

Моята заявка:

select * from tbl_billing where date BETWEEN "09-02-2017" and "10-02-2017"

Продукцията ми:

09-02-2017
10-02-2017
10-01-2017
09-01-2017
09-01-2017

Моят желан резултат:

09-02-2017
10-02-2017

Отговори:

1 за отговор № 1

Можете да използвате каноничен формат за дата sql

select * from tbl_billing where date BETWEEN "2017-02-09" and "2017-02-10"

или да конвертирате правилно с помощта на str_to_date

select * from tbl_billing where date BETWEEN str_to_date("09-02-2017", "%d-%m-%Y")
and  str_to_date("10-02-2017", "%d-%m-%Y")

но ако и твоят date е varchar, тогава трябва да преобразувате и тази колона

select * from tbl_billing where str_to_date(date,"%d-%m-%Y")  BETWEEN str_to_date("09-02-2017", "%d-%m-%Y")
and  str_to_date("10-02-2017", "%d-%m-%Y")