1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Obter Parte de string de acordo com string em outro campo

Discussão em 'Programação' iniciada por hmnett, 7 de Maio de 2012. (Respostas: 1; Visualizações: 847)

  1. Boas pessoal,

    Eu preciso pegar parte de uma string em um campo com base na string em outro campo.

    Ex:

    Source CALLBACK
    XPT.FLOOR_12.ROOM_42_AT.JOAO_MARIA CH 1 CALL
    BSI.FLOOR_07.ROOM_19_AT.PEDRO_ANA CH 2 CALL
    BSI.FLOOR_11.ROOM_21_AT.GUSTAVO_MARCIA CH 1 CALL

    Preciso obter o nome do atendente de cordo com "CH 1" ou "CH 2"

    Se for ch1, entao seria XPT-JOAO e BSI-GUSTAVO
    Se for ch2, entao seria BSI-ANA

    Tentei usar substring, mas o nome das pessoas tem tamanho variável e não me deixa usar um tamanho fixo.
    O tamanho do campo até "_AT." possui tamanho fixo.
    Utilizo SQL server 2005 como base de dados.

    Podem me ajudar a solucionar?

    Muito Obrigado

     
  2. Kemosabe-TBC

    Kemosabe-TBC Power Member

    A parte inicial tem tamanho fixo 24 e a parte final (CH 1 CALL) também tem tamanho fixo, 10. O tamanho do nome é igual a LEN(variavel) menos o tamanho das outras partes da variável que tu sabes o tamanho.

    Exemplo:
    - A variável tem o valor 'XPT.FLOOR_12.ROOM_42_AT.JOAO_MARIA CH 1 CALL'
    - LEN(variavel) é igual a 44
    - O tamanho da parte do nome é portanto 44 - 24 - 10 = 10
    - Podes obter o nome com SUBSTRING(variavel, 25, 10)
     
    Última edição: 7 de Maio de 2012

Partilhar esta Página