How to select datas for a particular user between a date range
Don't use functions on indexed columns.

Don't put dates in VARCHAR; use DATE, DATETIME, TIMESTAMP, etc.  MySQL does not understand tz info, as in 2018-07-16T09:48:30+00:00; deal with it before storing into the date column. 

Do test ranges this way:

WHERE date_created &gt;= '2018-08-23'
  AND date_created  &lt; '2018-08-23' + INTERVAL 7 DAY


to test for a week.  Note that you don't need to worry about leap years, etc.  For a single day, do use

WHERE date_created &gt;= '2018-08-23'
  AND date_created  &lt; '2018-08-23' + INTERVAL 1 DAY


Do not use this (or CAST):

WHERE DATE(date_created) = '2018-08-23'    -- inefficient


because no index can be used.

So, if your query is

WHERE entered_by = '1' AND date_created = '2018-08-23'  -- original


change it to

WHERE entered_by = '1'
  AND date_created &gt;= '2018-08-23'
  AND date_created  &lt; '2018-08-23' + INTERVAL 1 DAY


Note further:  This will work regardless of whether date_created is DATE, DATATIME, or even DATETIME(6).  And it avoids the clumsy 23:59:59 (which won't be adequate for DATETIME(6)).

Also, have this "composite" index:

INDEX(entered_by, date_created)   -- in this order


A further note:  BETWEEN leads to the "midnight bug", wherein you accidentally include an extra midnight.  Note that my code has &gt;= and &lt;, not &lt;=.