读书人

关于SQLServer2000 存储过程,该怎么处

发布时间: 2012-03-22 17:43:57 作者: rapoo

关于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' 

读书人网 >SQL Server

热点推荐