Bedenk wat uw query doet, aangezien u tekenreeksen samenvoegt. Je kunt het zelfs uitprinten. Aangezien u de datum niet tussen aanhalingstekens zet, wordt dit als een berekening beschouwd. Dus je zegt:
date1=2016-11-5
Dit is natuurlijk 2000, maar je wilt
date1='2016-11-5'
De beste manier is om parameters te gebruiken, zodat het onderliggende systeem dit allemaal voor je doet in plaats van dat je strings aaneenvoegt en er op de juiste manier aan probeert te ontsnappen.