I need to filter all clients that have an anniversary date between two reported dates in a query. How can I make a comparison of dates disregarding the year registered in the client?
The current query looks like this:
Parameters reported: Start Date: 04/29, End Date: 05/05
Where Convert(datetime,
Convert(varchar, DAY(cli.DataNascimento)) + '/' +
convert(varchar, MONTH(cli.DataNascimento)) + '/1900', 103)
>= convert(datetime, '29/04/1900', 103)
And Convert(datetime,
Convert(varchar, DAY(cli.DataNascimento)) + '/' +
convert(varchar, MONTH(cli.DataNascimento)) + '/1900', 103)
<= convert(datetime, '05/05/1900', 103)
However this query is returning the following error:
Mensagem 242, Nível 16, Estado 3, Linha 1
A conversão de um tipo de dados varchar em um tipo de dados datetime resultou em um valor fora do intervalo.
Is there a better way to do this query?