Преобразование не удалось при преобразовании даты и/или времени из символьной строки. В SQL server
Привет,
мой запрос получаю ошибку, как это можно устранить:
Я пробовал запускать динамический запрос отдельно, но:-
DECLARE @ContractDurationColumnName NVARCHAR(255) Declare @SQL NVARCHAR(2000) set @ContractDurationColumnName = (select ColumnName from LCompanySpecificColumns as CSC where CSC.Label='Duration' and CSC.CompanyCode = 'DE' and CSC.TableName = 'LProducts' and CSC.SelecterType = 'Kias-Soc') SET @SQL='select LP.ProductCode as ProductId,LP.Name as PRODUCT_DESCRIPTION,PC.Name as PRODUCT_ID_CATEGORY,PS.Name as SOURCE_SYSTEM,' + @ContractDurationColumnName + ' as ESTIMATED_CONTRACT_DURATION_ID from LProducts as LP inner join RSysCat as SC on LP.SysCatId=SC.Id inner join RProductCategories PC on SC.CategoryId=PC.Id inner join RProductSystems PS on SC.SystemId=PS.Id where LP.CreatedDateTime>= ' +CONVERT(datetime,'2017-11-07 10:33:57.000') + ' and LP.UpdatedDateTime <= ' + CONVERT(datetime,'2018-01-04 10:54:20.510') --select @SQL exec sp_executesql @SQL
но он также получает ошибку:-
Conversion failed when converting date and/or time from character string. in sql server
Пожалуйста помогите мне заранее спасибо
Анкит Агарвал
инженер-программист
Что я уже пробовал:
Его мой фактический либо процедуры:-
Create proc [dbo].[SpS15ProductMasterData] @StartDate datetime, @EndDate datetime as begin DECLARE @ContractDurationColumnName NVARCHAR(255) Declare @SQL NVARCHAR(2000) set @ContractDurationColumnName = (select ColumnName from LCompanySpecificColumns as CSC where CSC.Label='Duration' and CSC.CompanyCode = 'DE' and CSC.TableName = 'LProducts' and CSC.SelecterType = 'Kias-Soc') SET @SQL='select LP.ProductCode as ProductId,LP.Name as PRODUCT_DESCRIPTION,PC.Name as PRODUCT_ID_CATEGORY,PS.Name as SOURCE_SYSTEM,' + @ContractDurationColumnName + ' as ESTIMATED_CONTRACT_DURATION_ID from LProducts as LP inner join RSysCat as SC on LP.SysCatId=SC.Id inner join RProductCategories PC on SC.CategoryId=PC.Id inner join RProductSystems PS on SC.SystemId=PS.Id where LP.CreatedDateTime>= ' + @StartDate + ' and LP.UpdatedDateTime <= ' + @EndDate exec sp_executesql @SQL end
Exec SpS15ProductMasterData '2017-11-07 10:33:57.000','2018-01-04 10:54:20.510'
Мой код получает ошибку