SQL Server - Delimitar por caracteres una cadena de texto

 
Vista:
sin imagen de perfil

Delimitar por caracteres una cadena de texto

Publicado por Maria Fernanda (2 intervenciones) el 23/01/2023 06:53:21
Buenas, soy principiante en SQL y me gustaría sí puedo contar con su ayuda.

Tengo una columa (de una tabla ya existente) con un conjunto de registros como sigue:

MEL////BFF-SA//XXCdr2
MEL/RRA///BFF-SA//XXCdr2
MEL///ABC/BFF-SA//XXCdr2
MEL/LLL///BFF-SA//XXCdr2
GUAB//BB32//B-13.2KV-L32/L320/BqMd

Cada carácter '/' divide un parámetro distinto que quisiera mostrar en columnas por aparte y hay algunos que no contienen nada cómo se evidencia. He intentado algunos ejemplos que he encontrado en internet pero todavía no doy con la solución. Aclaro, no son solo 4 registros, son muchísimos y a todos debo hacerles el mismo tratamiento.

Agradezco a quién pueda colaborarme.

Muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Delimitar por caracteres una cadena de texto

Publicado por Isaias (4558 intervenciones) el 23/01/2023 15:52:37
¿Como lo estas haciendo?

1
2
3
4
5
6
7
8
Declare @cadena varchar(100) = 'MEL///ABC/BFF-SA//XXCdr2'
WHILE CHARINDEX('/', @cadena) > 0
 BEGIN
  SELECT SUBSTRING(@cadena, 1, CHARINDEX('/', @cadena) - 1)
  SET @cadena = SUBSTRING(@cadena, CHARINDEX('/',@cadena)+1,LEN(@cadena))
  CONTINUE
 END
 select @cadena as 'final'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar