... I get date from input date type html tag
Scommetto che non .
I tag HTML tendono a restituire valori String .
Devi analizzare (e, in questo caso, format ) quel valore [String] prima di usarlo in SQL.
Perché Parse? Perché il controllo Html restituisce una stringa e hai bisogno di una data.
Perché formattare? Poiché il valore Date deve essere rappresentato nel formato di un valore letterale di SqlServer Date affinché il confronto funzioni.
Ancora meglio, inizia a utilizzare le query parametrizzate. Dovrai comunque analizzare il valore in una variabile Date [Time], ma almeno perderai la parte di formattazione del lavoro (il parametro si prenderà cura di te per te).