我有一张表存储工资单记录及其创建日期。默认情况下,我想显示当前月份的记录。
我想查找当月的所有记录。有些单据可能会在第1个月的某些时候生成,但是应该显示给定月份的所有行。
SELECT DATEFROMPARTS(YEAR(GETDATE()),MONTH(GETDATE()),1)
我正在使用此语句来获取本月第一天存储在表中的记录,但是在第二或第三天保存的记录又如何呢?
答案 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)