[SQL 2012] Funções LEAD e LAG
Neste post irei apresentar mais 2 novas funções
    Neste post irei apresentar mais 2 novas funções do SQL 2012, LEAD e LAG, que fazem parte das Analytic Functions.
        LEAD - A function LEAD é utilizada para ler o valor da próxima linha. Quando a próxima linha não existir retorna NULL.
        LAG - A function LAG é similar a function LEAD, porém ao invés de retornar o próximo valor ela retorna o valor anterior.
        Isto é um pedido antigo de desenvolvedores, desde o surgimento da cláusula OVER.
        Vamos ver na prática. Criaremos uma tabela onde armazena a cidade e a localização dela em relação a BrasÃlia.
CREATE TABLE Cidade
(
  NomeCidade varchar(50),
  LocalizacaoKM int
)
GO
Insert into Cidade values('BrasÃlia',0), ('Cristalina',132), ('Paracatu',239), ('Três Marias',474), ('Belo Horizonte',742), ('Governador Valadares',1064)
GO
Usando a função LEAD vamos ver os trechos da viagem
SELECT NomeCidade, LocalizacaoKM Inicial, LEAD(LocalizacaoKM) OVER(ORDER BY LocalizacaoKM) As Final
FROM Cidade
ORDER BY LocalizacaoKM
Agora vamos usar a função LAG para ver a volta
SELECT NomeCidade, LocalizacaoKM Inicial, LAG(LocalizacaoKM) OVER(ORDER BY LocalizacaoKM) As Final
FROM Cidade
order by LocalizacaoKM desc

        Isto é possÃvel porque o SQL 2012 armazena a linha anterior/posterior na memória.
        Nas versões anteriores era possÃvel, porém tinha que usar self joins trabalhosos.
        A função também aceita outros parâmetros como um valor default quando retornar NULL, e você pode especificar quantas linhas ele deseja saltar para frente ou para trás.
Related articles
Comando SQL Update usando Try Catch
Na prática e no database
SELECT Format Date Time for many countries
It is a good tip to use day by day
Creating a SiteMap using SQL Database
Como indexar melhor meu site e links?
Membership $5/mo
✓ Full articles Subscribe ✓ Write forums ✓ Access podcast ✓ Full jobs opportunities ✓ Access eBooks ✓ Access magazine ✓ Access videos |
Free
✓ Open articles ✓ Read forums ✓ Access podcast x Full jobs opportunities x Access eBooks x Access magazine x Access videos |