日期:2014-05-17 浏览次数:20514 次
…… --参数 @StartTime DateTime,--开始时间参数 @EndTime DateTime,--结束时间参数 …… --条件 WHERE StartTime>=@StartTime AND EndTime<=@EndTime --这样写执行不了 WHERE StartTime>='2009-1-1' AND EndTime<='2009-3-13' --这样写可以执行
WHERE StartTime>=convert(varchar(10),@StartTime,120) AND EndTime<=convert(varchar(10),@EndTime,120)
------解决方案--------------------
LZ,可以将时间定义为CHAR(30)然后传进去就可以了。我以前是这样解决的。后来是convert(varchar(10),@StartTime,120)转换时间为字符类型。
--参数
@StartTime char(30),--开始时间参数
@EndTime char(30),--结束时间参数
……
--条件
WHERE StartTime>=@StartTime AND EndTime<=@EndTime --这样写执行不了
------解决方案--------------------
declare @StartTime DateTime,--开始时间参数 @EndTime DateTime--结束时间参数 select @StartTime='2009-01-11',@EndTime='2009-05-01' if @StartTime>@EndTime print @StartTime else if @StartTime<@EndTime print @EndTime else print null --05 1 2009 12:00AM
------解决方案--------------------
其实存贮过程的参数设成字符型比较好。
因为如果是时间型,则参数传入时必须保证是datetime型呀。