ALTER PROCEDURE [dbo].[测试]
(
@strtime datetime
@endtime datetime
)
AS
declare
@hour varchar(10),
@hour1 varchar(10),
@min varchar(10),
@min1 varchar(10)
set @hour=convert(varchar,datepart(hour,@strtime))
set @min=convert(varchar,datepart(mi,@strtime))
set @hour1=convert(varchar,datepart(hour,@endtime))
set @min1=convert(varchar,datepart(mi,@endtime))select count(distinct 卡片编号) from tab_Que_outin
where
刷卡时间 between
(convert(datetime, @hour+':'+@min))
and
(convert(datetime, @hour1+':'+@min1)) 为什么查出来的数据是0呢!我的数据库表有数据啊!请问我这样的写是不是有逻辑错误啊!
(
@strtime datetime
@endtime datetime
)
AS
declare
@hour varchar(10),
@hour1 varchar(10),
@min varchar(10),
@min1 varchar(10)
set @hour=convert(varchar,datepart(hour,@strtime))
set @min=convert(varchar,datepart(mi,@strtime))
set @hour1=convert(varchar,datepart(hour,@endtime))
set @min1=convert(varchar,datepart(mi,@endtime))select count(distinct 卡片编号) from tab_Que_outin
where
刷卡时间 between
(convert(datetime, @hour+':'+@min))
and
(convert(datetime, @hour1+':'+@min1)) 为什么查出来的数据是0呢!我的数据库表有数据啊!请问我这样的写是不是有逻辑错误啊!
刷卡时间 between
(convert(datetime, convert(varchar(11), 刷卡时间, 120) + @hour+':'+@min))
and
(convert(datetime, convert(varchar(11), 刷卡时间, 120) + @hour1+':'+@min1))
你去掉看看,用RTRIM
'2000-1-1' + ' '+ convert(varchar(100),刷卡时间,114)
between
'2000-1-1' + ' '+ convert(varchar(100),@strtime,114)
and
'2000-1-1' + ' '+ convert(varchar(100),@endtime,114)
刷卡时间 between
(convert(datetime, @hour+':'+@min))
and
(convert(datetime, @hour1+':'+@min1))
--------------
沒有年份?
convert(datetime, @strtime, 108) and convert(datetime, @endtime, 108)
where
刷卡时间 between
convert(varchar(16), @strtime, 120)
and
convert(varchar(16), @endtime, 120)
其实我是想取两个时间段的!可是时间是这样的格式在前台
是日期+小时+秒的!因此我才那样写!
最后发现错误了!
其实就是 date.text=2006-11-27
hour.selectvalue=8
min.selectvalue=30