Extraer dato de un texto SQL Server

Si es posible su ayuda con los siguiente:

En una columna tengo diferentes textos:

- IMPORTADO Basado en Pedidos de cliente 33122. Basado en entregas 41124

- Basado en Pedidos de cliente 33122.

-OC 555 Basado en Pedidos de cliente 33122.

Necesito extraer en una nueva columna el dato 33122, el dato 33122 varía en toda la tabla por lo que un Case no me sirve, solo necesito extraer el dato que viene luego de: Basado en Pedidos de cliente 'XXX', que el ejemplo es 33122

2 Respuestas

Respuesta
2

Si, como en los datos que pones de ejemplo, el texto Basado en Pedidos de cliente 'XXX' puede estar en cualquier parte de tu campo, y no solo al final, y suponiendo que el número sea siempre de 5 dígitos, puedes hacerlo con esta SQL en una Vista de SQL Server:

Donde Campo1, Campo2... serán campos de tu tabla (si los quieres mostrar en el resultado), Texto sería el campo donde tienes esos textos, y código el nombre de la nueva columna resultante, y TJoseRomero el nombre de tu tabla

Incluso podrías mejorarlo así, por si hay registros que no tienen esa cadena:

Tengo que ponerte los códigos como imagen, que de otra forma no me deja.

Respuesta
1

Si siempre va a estar a la derecha y se va a componer de cinco dígitos puedes crear un campo, por ejemplo

Num=right([nombrede la columna];2) o  tambien Der([nombredela columna];5) Por ejemplo, construyo la consulta en Access pero la instrucción SQL es la misma

Con lo que al abrirla

Y en este caso la instrucción SQL es

SELECT Clientes.Concepto, Right([concepto],5) AS Num FROM Clientes;

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas