Tag Archives: code snippet

Code Snippet: LastIndexOf en SQL SERVER

Uno de los mótivos que me impulsó a abrir el blog es para usarlo también como “bloc de notas” e ir anotando pequeños apuntes de código que me han parecido interesanto o que me han resulto un problema. 

Estrenamos esta categoría llamada “Code Snippet” con una pequeña consulta en T-SQL para SQL SERVER que sirve para obtener la última aparación de un caracter en concreto en un string; vamos, lo que ha hecho toda la vida el método LastIndexOf() de .NET pero que SQL no incluye por defecto.

 

 

LEN(STRING) - CHARINDEX('CHAR TO SEARCH', REVERSE(STRING)) + 1

 

 

Básicamente le doy la vuelta al string y obtengo la primera aparición del caracter a buscar.

Un ejemplo de uso para buscar, por ejemplo, la posición de última “/” en un string sería así:

 

SELECT LEN('C:/Dir/File.txt') - CHARINDEX('/', REVERSE('C:/Dir/File.txt')) + 1;

 

Esta consulta devolvería “11”. Si queremos quedarnos con lo que hay después (como ha sido mi caso, que necesitaba el “File.txt”), la consulta quedaría así:

 

SELECT RIGHT('C:/Dir/File.txt', CHARINDEX('/', REVERSE('C:/Dir/File.txt')) - 1);

 

Espero que os sea de ayuda.

 

Nos vemos Compilando!!