UNION, UNION ALL, INTERSECT e EXCEPT

Neste documento vamos detalhar quatro operadores muito úteis quando executamos vários SELECT com o mesmo conjunto de colunas, mas que precisam retornar registros dentro de determinadas condições. UNION e UNION ALL Combina o resultado de duas ou mais queries em um único resultado. As queries devem ter a mesma quantidade de colunas e na mesma ordem no SELECT, e o datatype das colunas devem ser compatíveis. Mas qual a diferença entre UNION e UNION ALL? O operador UNION elimina as linhas duplicadas. O SQL Server executa cada um dos SELECTs da query, reúne todos os resultados e então executa um SELECT DISTINCT, mesmo que não haja registros duplicados. O operador UNION ALL mantém as linhas duplica

Funções de Data e Hora

Neste post, vamos conhecer várias funções que tratam de data e hora no SQL Server. Todas as funções descritas neste post estão disponíveis a partir do SQL Server 2008 até a versão 2016, conforme a documentação da Microsoft. Algumas funções, como Getdate(), Month() e Year() já estavam disponíveis na versão 2000, mas para efeitos de registro, prefiro manter a informação de acordo com o site da Microsoft. As funções EOMONTH() e DATEFROMPARTS() foram liberadas na versão 2012. Datatypes O SQL Server possui vários datatypes para data e hora: GETDATE() e similares Estas funções retornam a data e a hora do computador no qual a instância do SQL Server é executada: Vamos ver essas funções em ação: Obs

Servidores registrados

Num ambiente empresarial, é comum termos diversas instâncias de bancos de dados disponíveis, para desenvolvimento, homologação e produção. Em muitos casos, o mesmo ambiente pode ter várias instâncias. E é possível que os bancos de dados sejam mantidos com o nome de produção mesmo nas instâncias de desenvolvimento, principalmente quando temos comandos que acessam mais de um BD ao mesmo tempo. Por isso, é importante realçar (ou diferenciar) qual a instância que estamos acessando no momento, para evitar trabalharmos na instância “A” quando deveríamos estar na instância “B”, simplesmente porque conectamos no servidor errado num momento de tensão. O Registered Servers (Servidores Registrados) é u