Seleção de Datas Automáticas no SQL SERVER

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

Resultado = 01/03/2017 e 31/03/2017

Como monto essa SQL no SQL SERVER?

Me exemplificou a saída, mas, qual é a data que fez essa geração, exemplifique a data atual e o que espera (o que espera já sabemos)?

Qual é a versão do seu SQLServer?

Olá Dragoon

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.

A Versão do SQL Server é a “SQL SERVER MANAGEMENT STUDIO EXPRESS 2008”

Para pegar a data no SQLServer atual é GETDATE()

Teste por favor?

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

Créditos formula inicial:
https://blog.sqlauthority.com/2007/05/13/sql-server-query-to-find-first-and-last-day-of-current-month/

Referencias:

Parece que deu certo Dragoon, muito obrigado.

Por gentileza, só me tire mais algumas dúvidas, se possível:

1 - No SQL Server existe alguma tabela temporária como no Oracle (tabela Dual), onde eu possa realizar testes como este acima?

2 - A função GETDATE no SQL SERVER seria igual a SYSDATE no Oracle?

Obrigado pela ajuda.

Está certo sim o código eu já fiz teste com todas as datas do ano, pode utilizar sem medo.

1 - Tem como criar tabelas temporárias sim no SQLServer, observer nos links abaixo:

https://msdn.microsoft.com/pt-br/library/mt718711.aspx


https://social.msdn.microsoft.com/Forums/pt-BR/99b21936-4b2a-4397-8209-0cd1c592faa4/tabela-temporaria-dinamicamente?forum=520

2 - Sim é!

Muito obrigado por todo apoio.

Atenciosamente,

Flavio D. Silva.

1 curtida