sql存储过程使用中时间的输入,求解啊

图片说明
存储过程是这个:
create procedure shoufeiheji
(
@mid varchar(50),
@sjtime1 smalldatetime,
@sjtime2 smalldatetime
)
as
begin
select SUM(cost) from sjhistory where sjtime between @sjtime1 and @sjtime2 and mid =@mid
end
然后得不出我想要的结果0.0

 create proc [dbo].[testTimeProc]
@timepro varchar(20)
as
begin
     print(@timepro);
end

exec testTimeProc '2015-03-01 12:12:14'

CAST('2015-05-31 13:14:00' as datetime)