Pensa a cosa fa la tua query, dal momento che concateni le stringhe. Puoi persino stamparlo. Dal momento che non metti la data tra virgolette, sarà considerato un calcolo. Quindi stai dicendo:
date1=2016-11-5
Questo è ovviamente il 2000, ma vuoi
date1='2016-11-5'
Il modo migliore è utilizzare i parametri in modo che il sistema sottostante stia facendo tutto questo per te piuttosto che concatenare stringhe e cercare di sfuggirle correttamente.