none
como sacar las letras de una string RRS feed

  • Pregunta

  • Manejo SQL 2008

    Tengo una duda,

    tengo una tabla de usuarios donde tiene un campo llamado Referencia de tipo string y siempre contiene al principio Letras y despues numeros por ejemplo:

    AD001
    AD002
    AD003
    ADS001
    ADS002
    DD001
    DD02
    DDC01
    DDC02

    El punto es que me piden un reporte agrupandolo por sus caracteres de inicio, es decir agrupados todos los que empiezan con AD, ADS, DD, DDC pero no encuentro la forma de sacar esa parte alfabetica del campo Referencia de mi tabla de usuario.

    Cabe aclarar que no hay una constante en la formacion de la referencia del usuario

    Algun Tip?

    Gracias

    martes, 6 de marzo de 2012 18:34

Respuestas

  • Puedes usar PATINDEX [http://msdn.microsoft.com/es-es/library/ms188395.aspx]:

    DECLARE @a VARCHAR(100) = 'ADS001'
    
    SELECT SUBSTRING(@a,1,(PATINDEX('%[0-9]%', @a))-1)

    martes, 6 de marzo de 2012 18:54
  • Hola amigo,

    Creo que con este codigo te va a funcionar.

    create table #Caracter
    (
    	letras varchar(10)
    )
    insert into #Caracter
    select substring(cadena, 1 , PATINDEX('%0%', cadena) - 1) from dbo.Cadena
    Select letras, COUNT(letras)
    from #Caracter
    group by letras
    Saludos
    martes, 6 de marzo de 2012 19:06

Todas las respuestas