Fala pessoal!!
Gostaria de compartilhar com vocês uma novidade bem legal que notei no Azure SQL Database, que foi a inclusão de um novo parâmetro na função STRING_SPLIT e que vem sendo solicitado desde que a função foi criada no SQL Server 2016, que é a inclusão do número das posições no retorno das quebras do texto.
Essa função é tão nova, que até o momento dessa publicação, esse parâmetro novo está disponível apenas na versão em inglês da documentação:
Para quem não se lembra, o uso dessa função é feito dessa forma:
O problema é que a função não retornava o número da posição, então era difícil pegar o primeiro elemento ou o elemento N do retorno. Com isso, eu mesmo acabava utilizando outras alternativas, como já demonstrei no artigo Como quebrar uma string em uma tabela de substrings utilizando um delimitador no SQL Server e que funciona em qualquer versão do SQL Server.
Entretanto, para minha surpresa, hoje eu descobri que o Azure SQL Database já implementou uma alteração na função STRING_SPLIT e que agora está permitindo retornar o número da posição:
E agora sim, posso escolher os elementos que eu quero:
Se tentarmos reproduzir a mesma coisa no SQL Server 2019, nos deparamos com essa mensagem de erro:
Então imagino que em breve, já deve sair alguma atualização para incluir essa melhoria para as versões On-Premisses.
- SQL Server – charindexada: Uma função diferente para quebrar strings delimitadas (split)
- SQL Server – Quebrando strings em sub-strings utilizando separador (Split string)
- SQL Server – Função table-valued para quebrar uma string em linhas com tamanho de até N caracteres
- Como quebrar uma string em uma tabela de substrings utilizando um delimitador no SQL Server
- SQL Server – Utilizando a STRING_SPLIT para transformar strings de uma linha em colunas
Então é isso aí, pessoal!
Post curto, rápido e informativo.
Um grande abraço e até a próxima!