关于SQLServer2000 存储过程
我写了一个简单带输入参数存储过程,但是输入参数赋不上值,程序如下:
create procedure [dbo].[test2]
@date varchar(20)
as
begin
select * from samedayaccinfo
where 日期=@date
end
go
在sqlserver2000中进行如下执行
exec test2 20111231
结果只出来列名,其余数据却查不出来,说明20111231没有赋到日期上,请帮忙解决,谢谢!
------解决方案--------------------
create procedure [dbo].[test2]
@date varchar(8)
as
begin
select * from samedayaccinfo
where 日期>=@date and 日期<convert(char(8),@date+1,112)
end
go
其实你的日期应该是有时间的,不只是日期,你输入日期来比,刚好要20111231日0点0分0秒才查得出结果
------解决方案--------------------select * from samedayaccinfo
where CONVERT(VARCHAR(10),日期,120)=@date
------解决方案--------------------你数据库中存储的日期格式是不是20111231(yyyymmdd)这种的,如果不是,查不出来,因为你是varchar类型
------解决方案--------------------日期转换格式
SQL code
where CONVERT(VARCHAR(10),日期,120)=@date
------解决方案--------------------
SQL code
exec test2 '20111231'