where clause return empty row in view mysql
Assuming that the two date columns are indeed DATE columns, the problem is that you are not using proper format in the date literals. Use ANSI format:

SELECT * 
FROM V_BALANCE 
WHERE DATE BETWEEN '2016-07-24' 
               AND '2016-08-03' ;


See the documentation for other options: Date and time literals.



If the two date columns are not DATE but some CHAR or VARCHAR, then the issue is there. Convert the columns to the proper date type, otherwise the comparisons will work incorrectly.