选择上个月sql中的所有位置日期

选择上个月sql中的所有位置日期,sql,sql-server,tsql,Sql,Sql Server,Tsql,我怎样才能得到上个月的约会 select * from table where date in ( last month ) 我不想要最后的30天 我怎样才能自动获取上个月的信息编辑 如果你是说从今天起的上个月。或者从某个特定日期算起的前一个月,那么你需要这样做 SELECT DATEPART(MONTH, DATEADD(MONTH, -1, [Date])) 或者,要获取一年中前一个月的记录,您可以这样做 SELECT * FROM Table WHERE MONTH(Date) =

我怎样才能得到上个月的约会

select * from table where date in ( last month  )
我不想要最后的30天 我怎样才能自动获取上个月的信息

编辑

如果你是说从今天起的上个月。或者从某个特定日期算起的前一个月,那么你需要这样做

SELECT DATEPART(MONTH, DATEADD(MONTH, -1, [Date]))
或者,要获取一年中前一个月的记录,您可以这样做

SELECT * FROM Table
WHERE  MONTH(Date) =  DATEPART(MONTH, DATEADD(MONTH, -1, [Date]))
AND YEAR(Date) =    DATEPART(YEAR, DATEADD(MONTH, -1, [Date]))    --<-- or pass year for which year you are checking 
从表中选择*
其中月份(日期)=日期部分(月份,日期添加(月份,-1,[日期])
年(日期)=DATEPART(年,DATEADD(月,-1,[日期])--=DATEADD(m,datediff(m,0,当前时间戳)-1,0)
和date

使用日期/日期时间数据类型时。

您可以尝试使用BEVERY语句获取特定日期:

Select * from table where date between '01-01-2014' and '14-01-2014'
你可以用这个

Select * from table where date between @startdate and @enddate


它对您有用吗?

假设您想要日期在上个月内的所有项目,即从今天到30/31天前:

Select *
From Table
Where Date Between DATEADD(m, -1, GETDATE()) and GETDATE()

我怎样才能拿到上个月的工资automatically@user3190075月份(GETDATE())什么的最后一个月@user3190075@M.Ali你正在到达那里。但您需要在查询中包括年份,否则结果将包括前几年的记录。这就是您应该如何解决它以允许使用索引:从表中选择*,其中date>=dateadd(m,datediff(m,0,current_timestamp)-1,0)和dateSelect * from table where date between @startdate and @enddate
SELECT * FROM DATE_SAMPLE WHERE 
DATEPART(YEAR, SAMPLE_DATE) = '2013' AND 
DATEPART(MONTH,SAMPLE_DATE) = '01' AND 
DATEPART(DAY, SAMPLE_DATE) = '01'
Select *
From Table
Where Date Between DATEADD(m, -1, GETDATE()) and GETDATE()