У меня есть следующий SQL-запрос, который получает дату (один параметр даты начала и конца даты, разделенный запятой) в качестве параметра и должен возвращать все значения между этими датами.Ошибка преобразования в SQL Server
(Long запрос - я отправляю только соответствующая часть)
Set @SQLQuery = @SQLQuery + 'And (o.Date >= LEFT(''' + @Date + ''', charindex('','',''' + @Date+ ''') - 1)'
+ ' AND o.Date <= RIGHT(''' + @Date + ''', charindex('','',''' + @Date+ ''') - 1)) '
Формат параметра дата:
start date,end date in MM,DD,YYYY format
Если параметр дата, например: 8-5-2015,08-9-2016
это работает отлично, но когда это, например, 8-5-2015,08-11-2016
Я получаю следующую ошибку:
Conversion failed when converting date and/or time from character string
Я думаю, что это связано с двумя цифрами на части дней.
Любая идея, что может вызвать это?
Split '@ date' за пределами выражения, за исключением частей в переменные типа' datetime' с помощью [ 'convert' с явной форме] (https://msdn.microsoft.com/en-us/ library/ms187928.aspx # Anchor_4), и вызовите свой встроенный запрос с помощью '' sp_executesql' '(https://msdn.microsoft.com/en-us/library/ms188001.aspx), передавая даты в качестве параметров. – GSerg