我有一个DateTime列,我只给存储过程一个日期,并根据SQL表中的列进行检查。但是列中的条目还包含日期时间,但我必须将列的唯一日期部分与给定输入进行比较。请回复
alter procedure [dbo].[db]
@date DateTime
As
begin
select * from [dbo].[production_schedule]
where DATEPART('YYYY',date)= DATEPART('YYYY-MM-DD',@date)
end;
EXEC [dbo].[db] '2002-07-01',1,0
我必须在程序中只提供日期,但我必须选择列日期中具有相同日期的那些行。
答案 0 :(得分:1)
试试这个
select * from [dbo].[production_schedule]
where convert(date,date)= convert(date,@date)
答案 1 :(得分:0)
写为:
alter procedure [dbo].[db]
@date DateTime
As
begin
select * from [dbo].[production_schedule]
where convert ( varchar(10), date, 111) = convert (varchar(10),@date,111)
end
Go
-- When there's only one input parameter in the sproc then why have 3 comma separated
-- inputs in exec statement?
EXEC [dbo].[db] '2002-07-01'