none
Contar quantidade de elementos RRS feed

  • Pergunta

  • Boa noite,

    gostaria de saber se existe alguma função pra contar os elementos existente em uma string no caso uma lista de numeros separados por , (virgula) .

    possuo uma procedure que vai recever uma lista de numeros separados por virgual onde preciso saber o numero de elementos nessa lista e efetuar um loop de acordo com esse numero de elementos. Por exemplo

    recebo :

    @lista  = 1,2,3,15,10,12,16

    Preciso saber se existe alguma função que me diga quandos elementos existem nessa lista

    Obrigado
    quarta-feira, 27 de agosto de 2008 03:17

Todas as Respostas

  • Boa Noite,

     

    Eu até poderia sugerir um WHILE ou algo do tipo para fazer essa contagem, mas acho que se você possui o SQL Server 2005 podemos utilizar uma solução mais "elegante". Ex:

     

    Code Snippet

    DECLARE @Lista VARCHAR(MAX)

    SET @Lista = '1,2,3,15,10,12,16'

     

    DECLARE @ListaXML XML

    SET @ListaXML = '<c><e>' + REPLACE(@Lista,',','</e><e>') + '</e></c>'

     

    DECLARE @TotalItens INT

    SET @TotalItens = @ListaXML.value('count(/c/e)','INT')

    SELECT @TotalItens

     

     

    Definitivamente o suporte a XML é uma das melhores features no SQL Server 2005.

     

    [ ]s,

     

    Gustavo

    quarta-feira, 27 de agosto de 2008 03:28
  • muito bom isso... não conhecia esse recurso...

     

    quarta-feira, 27 de agosto de 2008 13:32