You would want to put single quotes around date string in your SET clause . Also, since both your start and end date variables are of DATETIME data type, you don't need to explicitly CAST them into DATETIME datatype in the WHERE clause. Something like this
will work for you, if you column on the table on which your date filter is applied, is of DATETIME data type.