CREATE proc dbo.tb_test2
@dt_begindateStart datetime,
@dt_begindateEnd datetime,
@TimeStart datetime='0:00:00',
@TimeEnd datetime='23:59:59',
@city char(10)
asselect * from tb_test
where city like @city+'%'
and CONVERT(DATETIME,CONVERT(CHAR(10),ddate,120),120) between CONVERT(DATETIME,CONVERT(CHAR(10),@dt_begindateStart,120),120)and CONVERT(DATETIME,CONVERT(CHAR(10),@dt_begindateEnd,120),120)
and CONVERT(DATETIME,CONVERT(CHAR(10),ddate,108),108) between CONVERT(DATETIME,CONVERT(CHAR(10),@TimeStart,108),108) and CONVERT(DATETIME,CONVERT(CHAR(10),@TimeEnd,108),108)
@dt_begindateStart datetime,
@dt_begindateEnd datetime,
@TimeStart datetime='0:00:00',
@TimeEnd datetime='23:59:59',
@city char(10)
asselect * from tb_test
where city like @city+'%'
and CONVERT(DATETIME,CONVERT(CHAR(10),ddate,120),120) between CONVERT(DATETIME,CONVERT(CHAR(10),@dt_begindateStart,120),120)and CONVERT(DATETIME,CONVERT(CHAR(10),@dt_begindateEnd,120),120)
and CONVERT(DATETIME,CONVERT(CHAR(10),ddate,108),108) between CONVERT(DATETIME,CONVERT(CHAR(10),@TimeStart,108),108) and CONVERT(DATETIME,CONVERT(CHAR(10),@TimeEnd,108),108)
@dt_begindateStart datetime,
@dt_begindateEnd datetime,
@TimeStart datetime='0:00:00',
@TimeEnd datetime='23:59:59',
@city char(10)
as
你传的时候,这样子不就行了吗?
@dt_begindateStart datetime, --'2006-01-17 00:00:00'
@dt_begindateEnd datetime -- '2006-01-17 23:59:59
你在存储过程里covert来covert去,如果ddate字段建有索引的话,还能用到吗?
@dt_begindateStart char(10),
@dt_begindateEnd char(10), @city char(10)
asselect * from tb_test
where city like @city+'%'
and convert(char,ddate,102) between @dt_begindateStart and @dt_begindateEnd
@dt_begindateStart,@dt_begindateEnd格式为yyyy.mm.dd
CREATE proc dbo.tb_test2
@dt_begindateStart datetime,
@dt_begindateEnd datetime,
@TimeStart datetime,
@TimeEnd datetime,
改成
CREATE proc dbo.tb_test2
@dt_begindateStart datetime,
@dt_begindateEnd datetime,
@TimeStart datetime='0:00:00',
@TimeEnd datetime='23:59:59',
@TimeStart datetime='0:00:00',
@TimeEnd datetime='23:59:59',
上面的我也试过,但就是不能给变量赋值,是不是我不会调用存储过程?tb_test '2006-01-18 ','2006-10-18','','','%'
tb_test '2006-01-18 ','2006-10-18','%','%','%'
tb_test '2006-01-18 ','2006-10-18','%'我像上面如此调用,但都不能得出正确的结果。