Incearcă ceva de genul:
DECLARE @pData DATETIME = GETDATE()
DECLARE @primaZi DATETIME = DATEADD(MONTH,DATEDIFF(MONTH,0,@pData),0)
DECLARE @ultimaZi DATETIME = DATEADD(MONTH,DATEDIFF(MONTH,-1,@pData),-1)
SELECT * FROM persoane WHERE data_incep <= @ultimaZi AND data_sfarsit >= @primaZi
Razvan