想要从存储过程中显示特定的日期记录

时间:2013-11-26 09:54:24

标签: c# sql sql-server vb.net

嗨朋友我必须使用存储过程从db显示记录。

显示从我使用的日期到另一个日期的记录:

and Tbl_GDS_Request.RequestedDate between '''+ convert(varchar(20),@p_FromDate) + ''' 
and  ''' + convert(varchar(20), @p_ToDate) + ''''

但是,如果我只想显示fromdate条记录(即仅显示2013/11/07日期的记录)或日期记录,即只显示2013/11/07日期的记录。

如何显示单个日期的记录?

请帮我解决。

1 个答案:

答案 0 :(得分:0)

为每个语句创建OR选择。 这看起来如下。 (代码未经测试)

CREATE PROC Procname
(
 @date1 datetime IS NULL,
 @date2 datetime IS NULL
)
AS
select 
 *
from 
 atable a
where 
 --when both dates are filled in
 (@date1 is not NULL 
  AND @date2 is not NULL 
  AND a.date >= @date1 
  AND a.date <= @date2)
 OR
 --when only todate is filled in
 (@date1 is NULL 
  AND @date2 is not NULL 
  AND a.date <= @date2)
 OR
 -- when only fromdate is filled in
 (@date1 is not NULL 
  AND @date2 is NULL 
  AND a.date >= @date1)