Изпитвам дати от базата данни на 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")