bạn nên so sánh ngày với ngày không phải ngày với ngày giờ
AND DATE(start_date) <= '2017-08-28'
AND DATE(end_date) >= '2017-08-28'
vậy
SELECT id AS couponID, percentage_off, usage_count, used_count
FROM coupons
WHERE `code` = 'DANGER'
AND active_status = '1'
AND deleted = '0'
AND DATE(start_date) <= '2017-08-28'
AND DATE(end_date) >= '2017-08-28'
AND category LIKE '%cLevel%'
trong trường hợp bạn đang sử dụng var trong php và bạn nên chuyển đổi đúng cách bằng cách sử dụng str_to_date, ví dụ:
str_to_date( '$now'),'%Y-%m-%d');
SELECT id AS couponID, percentage_off, usage_count, used_count
FROM coupons
WHERE `code` = 'DANGER'
AND active_status = '1'
AND deleted = '0'
AND DATE(start_date) <= str_to_date( '$now'),'%Y-%m-%d')
AND DATE(end_date) >= str_to_date( '$now'),'%Y-%m-%d')
AND category LIKE '%cLevel%'
hoặc như được OP
sử dụng str_to_date( '$now'),'%Y-%m-%d %H:%i:%s');
SELECT id AS couponID, percentage_off, usage_count, used_count
FROM coupons
WHERE `code` = 'DANGER'
AND active_status = '1'
AND deleted = '0'
AND start_date <= DATE_FORMAT('$now','%Y-%m-%d %H:%i:%s')
AND end_date >= DATE_FORMAT('$now','%Y-%m-%d %H:%i:%s')
AND category LIKE '%cLevel%'