如何选择给定月份中任何日期的记录

时间:2018-02-26 09:48:17

标签: sql-server

我有一张表存储工资单记录及其创建日期。默认情况下,我想显示当前月份的记录。

我想查找当月的所有记录。有些单据可能会在第1个月的某些时候生成,但是应该显示给定月份的所有行。

SELECT DATEFROMPARTS(YEAR(GETDATE()),MONTH(GETDATE()),1)

我正在使用此语句来获取本月第一天存储在表中的记录,但是在第二或第三天保存的记录又如何呢?

2 个答案:

答案 0 :(得分:0)

尝试使用where where

 where YEAR(date_column)=YEAR(GETDATE()) and MONTH(date_column)=MONTH(GETDATE())

答案 1 :(得分:0)

另一种解决方案 -

declare @tbl table (Slipdate datetime)

insert into @tbl (Slipdate)
select '2018-02-01'
union
select '2018-02-23'
union
select '2018-01-01'

select *
from @tbl
where dateadd(month,datediff(month,0,Slipdate),0) = dateadd(month,datediff(month,0,GETDATE()),0)