Seguinte, preciso criar uma SQL (Query) onde, de acordo com a data atual, ele traga o período do mês passado, sei fazer isso no Oracle (PL SQL), mas to me matando pra colocar isso no SQL SERVER.
Segue um exemplo no PL SQL:
SELECT (ADD_MONTHS(LAST_DAY(TO_DATE(TO_CHAR(SYSDATE,‘DD/MM/YYYY’),‘DD/MM/YYYY’))+1, -2)) inicial,
(ADD_MONTHS(LAST_DAY(TO_DATE(TO_CHAR(SYSDATE,‘DD/MM/YYYY’),‘DD/MM/YYYY’))+0, -1)) final
FROM DUAL
A data que eu quero é a data de hoje sempre. No oracle utilizamos SYSDATE, no SQL SERVER eu não sei qual a função que traz a data atual.
O objetivo é para a construção de uma visão no POWER BI, onde:
Se eu estiver dentro do mês de abril/2017 meu resultado sempre será 01/03/2017 e 31/03/2017, quando chegarmos no primeiro dia de maio/2017 meu resultado mudará para 01/04/2017 e 30/04/2017.
Select
DATEADD(dd,-(DAY(DATEADD(mm,1,GETDATE()))-1),DATEADD(mm,-1,GETDATE())) DATA_INI,
DATEADD(dd,-(DAY(DATEADD(mm,1,GETDATE()))), DATEADD(mm,0,GETDATE())) DATA_FIM
FROM Example