当前位置: 代码迷 >> Sql Server >> sqlserver存储过程字符串变换datetime疑惑
  详细解决方案

sqlserver存储过程字符串变换datetime疑惑

热度:48   发布时间:2016-04-24 18:24:07.0
sqlserver存储过程字符串转换datetime疑惑?
写了个存储过程:
省略。。
@selectedDate datetime=null;
as
declare @SqlWhr varchar(max)=null;
省略。。
set  @SqlWhr= @SqlWhr + ' and CreateDate<=Convert(datetime,'+@selectedDate+',120)';  

CreateDate是表中的一个字段datetime型,
DECLARE @return_value int,
                     @completed int
SELECT @completed = 0
EXEC @return_value = [dbo].[usp_InventoryAnalysis]
@selectedDate ='2014-03-13',
报错:从字符串转换日期和/或时间时,转换失败。
------解决方案--------------------
set SqlWhr= @SqlWhr + ' and CreateDate<=Convert(datetime,'''+@selectedDate+''',120)';  
------解决方案--------------------
把语句print出来把,或者用sql profiler 来跟踪一下
  相关解决方案