Extrato de quatro dígitos a partir de uma coluna de regexp
-
28-09-2020 - |
Pergunta
Eu estou sentado em um banco de dados onde uma coluna contém dados de dois tipos ;)
Exemplo
"1";"When the Wind Blows 0275";"James Patterson "
"4";"The Reluctant Fundamentalist 1026";"Mohsin Hamid";
O usuário pensei que seria facilmente pesquisável desta forma...
Agora eu estou tentando corrigir isso, tendo o ID do campo de título e colocá-lo em sua própria coluna.
Como faço para selecionar o título com uma regexp por isso que eu só recebo o número de quatro dígitos no final do título?Esse número pode iniciar com um zero, e o título pode conter mais dígitos do que apenas os 4.
Também não há garantia de que os dígitos são os quatro últimos caracteres no título, às vezes, há alguns espaços seguintes. SUBSTRING
não vai funcionar, neste caso
obrigado pela ajuda!
Solução
Se os quatro dígitos que você precisa para extrair estão exatamente no final da seqüência de caracteres ou são seguidos apenas por espaços, provavelmente seria mais fácil para extrair-los usando o RIGHT()
função depois de remover os espaços à direita, usando o RTRIM()
função:
SELECT
RIGHT(RTRIM(YourColumnName), 4) AS SomeCode
FROM
YourTableName
WHERE
...
;