|
我想查询数据库里最近一个月的数据,但不知道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=''
- SET @SubWhere=''
- IF @startDate<>0 AND @startDate IS NOT NULL
- SET @SubWhere=@SubWhere+'AND n_date>='+CONVERT(VARCHAR(15),@startDate)
- IF @endDate<>0 AND @endDate IS NOT NULL
- SET @SubWhere=@SubWhere+'AND n_date<='+CONVERT(VARCHAR(15),@endDate)
- SET @SQL='SELECT *
- FROM
- 表
- WHERE 1=1 '+@SubWhere
- EXEC(@SQL)
- GO
复制代码
这个比较灵活,可以查任何时间段的
--------------------------------------------------------------------
请问这个存储过程应该怎么调用呢,结果输出是什么?
- SELECT *
- FROM
- 表
- WHERE 1=1 '+@SubWhere
复制代码
这个就是结果 |
|