segunda-feira, 25 de julho de 2016

SQL Server - Retonar extensão do nome do arquivo - Funções: LEN, CHARINDEX, Right



A proposta do script abaixo é retornar a extensão do arquivo - via Banco de Dados.

Primeiramente, vamos entender as funções utilizadas no script:

1) Função LEN: Retorna o número de caracteres da expressão da cadeia de caracteres especificada, excluindo espaços em branco à direita.
(fonte: https://msdn.microsoft.com/pt-br/library/ms190329.aspx?f=255&MSPPError=-2147217396)


2) Função CHARINDEX: Pesquisa uma expressão para outra e retorna sua posição inicial, se for localizada. 
(fonte: https://msdn.microsoft.com/pt-br/library/ms186323.aspx)

3) Função Right: Retorna a parte da direita de uma cadeia de caracteres com o número de caracteres especificado 
(fonte: https://msdn.microsoft.com/pt-br/library/ms177532.aspx)


Para facilitar a compreensão, vamos separar as funções utilizadas e visualizar cada retorno:


select nomeArquivo  , LEN(nomeArquivo) as totalChar   , CHARINDEX('.', nomeArquivo) as posChar from arquivos
    

Muito bem, conseguimos retornar o nome, o total de caracteres e a posição deste dentro da coluna.


Agora vamos agregar estas funções e retornar qual é a extensão para cada nome do arquivo:

select nomeArquivo, right(nomeArquivo, LEN(nomeArquivo) - CHARINDEX('.', nomeArquivo)+1) as extensao from arquivos




Até a próxima.



Nenhum comentário:

Postar um comentário