Extraer dato entre paréntesis SQL Server

En un gusto saludarlos.

Necesito extraer la información que se encuentra entre paréntesis ( ) y colocarla en una nueva columna.

En este caso, necesito extraer desde Descripción y crear la nueva columna Marca.

Adjunto imagen. Muchas gracias por su ayuda.

1 respuesta

Respuesta
2

Si tengo la tabla TDatos2, con los campos ID y Descripcion:

Con esta SQL:

Obtengo los resultados que buscas:

Hola, muchas gracias por tu atención.

Incluí el código en mi base de datos y me arroja el siguiente error:

Conversion failed when converting the varchar value '42448 BOL 260X450X95 320019935 BN 25 T.LARGO AHUMADO' to data type int.

En la base de datos tengo textos que no tienen paréntesis y otros sí (), también mi necesidad es extraer lo que contiene el primer paréntesis () de izquierda a derecha, en el caso de que exista más de uno.

Debo traer la información del paréntesis que viene después de los primero 5 dígitos iniciales.

Muchas gracias por tu ayuda.

Ese error me suena muy raro, porque no estás intentando convertir nada a entero (int), sino extraer una cadena de texto de dentro de otra. Lo único que se me ocurre es que ya tenga un campo llamado MARCA, en cuyo caso debes modificar el nombre del nuevo campo que crea la consulta (el AS MARCA, por otra cosa, por ejemplo AS Temp)

La SQL que te proponía devuelve siempre el valor que está entre los dos primeros paréntesis que encuentre, haya los que haya en la cadena.

Para que funcione si la cadena no tiene ningún paréntesis, cosa que no habías mencionado inicialmente, tienes que usar algún tipo de condicional para saber si hay o no paréntesis y actuar en consecuencia, por ejemplo:

Y como ves, funciona perfectamente

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas