У вас явно плохие данные. Используйте try_convert()
:
select try_convert(DATE, Date_of_receipt, 103) as Date_of_Receipt
from T_Receving
where try_convert(DATE, Date_of_receipt, 103) between '2015-03-06' and '2018-05-06' ;
В SQL Server 2008 вам нужно больше работать, чтобы найти виновных. Вы можете начать с:
select date_of_receipt
from T_Receving
where date_of_receipt not like '[0-3][0-9]/[0-1][0-9]/[0-9][0-9][0-9][0-9]'
Это позволит найти большинство случаев плохих форматов. Если это все еще сохраняется, вам придется копать глубже, чтобы найти плохие номера дня или месяца.