飞仙 发表于 2007-7-5 10:09:39

mssql 里怎么查询出一段时间内的内容

我想查询数据库里最近一个月的数据,但不知道sql查询语句该怎么写?
declare @GetCurrentDate datetime
set @GetCurrentDate = getdate()
select *
from 表
where datediff(dd,@GetCurrentDate,表中的日期字段) <= 30
说明:“表中的日期字段”也须是datetime类型。
---------------------------------------------------------------------------------------------------------

CREATE PROC 存储过程名
(

@startDate NUMERIC(8,0),---开始时间
@endDate NUMERIC(8,0)       --结束时间
)
AS
DECLARE @SQL VARCHAR(5000)
DECLARE @SubWhere VARCHAR(2000)

SET @SQL=&#39;&#39;
SET @SubWhere=&#39;&#39;

IF @startDate<>0 AND @startDate IS NOT NULL
SET @SubWhere=@SubWhere+&#39;AND n_date>=&#39;+CONVERT(VARCHAR(15),@startDate)

IF @endDate<>0 AND @endDate IS NOT NULL
SET @SubWhere=@SubWhere+&#39;AND n_date<=&#39;+CONVERT(VARCHAR(15),@endDate)

SET @SQL=&#39;SELECT *
      FROM

WHERE 1=1 &#39;+@SubWhere
EXEC(@SQL)
GO

这个比较灵活,可以查任何时间段的
--------------------------------------------------------------------

请问这个存储过程应该怎么调用呢,结果输出是什么?

SELECT *
FROM

WHERE 1=1 &#39;+@SubWhere

这个就是结果

xyao123hom 发表于 2014-11-7 16:14:25

好好学习,天天向上
页: [1]
查看完整版本: mssql 里怎么查询出一段时间内的内容