首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-03-22 
关于SQLServer2000 存储过程我写了一个简单带输入参数存储过程,但是输入参数赋不上值,程序如下:create pro

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

热点排行