Obter Parte de string de acordo com string em outro campo

hmnett

Membro
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

 
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:
Back
Topo