Pregunta

Estoy sentado en una base de datos donde una columna contiene dos tipos de datos;)

Ejemplo

"1";"When the Wind Blows   0275";"James Patterson "
"4";"The Reluctant Fundamentalist      1026";"Mohsin Hamid";

El usuario pensó que sería fácil de poder buscar de esta manera ...

Ahora estoy tratando de solucionar esto, sacando la identificación del campo de título y poniéndolo en su propia columna.

¿Cómo selecciono el título con un regeo de regulación para que solo obtenga el número de cuatro dígitos al final del título?Ese número puede comenzar con un cero y el título podría contener más dígitos que solo los 4.

No hay ninguna garantía de que los dígitos son los últimos cuatro caracteres en el título, a veces hay algunos espacios siguientes.SUBSTRING no funcionará en este caso

¡Gracias por la ayuda!

¿Fue útil?

Solución

Si los cuatro dígitos que necesita para extraer están exactamente al final de la cadena o son seguidos solo por espacios, probablemente sería más fácil extraerlos utilizando el Función RIGHT() después de eliminar el arrastreEspacios usando el Función RTRIM() :

SELECT
  RIGHT(RTRIM(YourColumnName), 4) AS SomeCode
FROM
  YourTableName
WHERE
  ...
;

Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top