Problema:
Você gostaria de remover uma sequência de caracteres no início de uma string.
Exemplo:
Nosso banco de dados tem uma tabela chamada
product
com dados em três colunas:id , nome , e modelo . id | nome | modelo |
---|---|---|
1 | assistir | Lx0A123 |
2 | relógio inteligente | Lx0W34 |
3 | foto do relógio | Lx0G100 |
Vamos cortar o código do modelo de cada novo produto, removendo os caracteres desnecessários (Lx0) no início.
Solução 1:
Usaremos o
TRIM()
função. Aqui está a consulta que você escreveria:SELECT name, TRIM(LEADING 'Lx0' FROM model ) AS new_model_code FROM product;
Aqui está o resultado:
nome | new_model_code |
---|---|
assistir | A123 |
relógio inteligente | W34 |
foto do relógio | G100 |
Discussão:
Use o
TRIM()
função com o LEADING
palavra-chave para remover caracteres no início de uma string. TRIM() permite remover caracteres ou espaços específicos do início, fim ou ambas as extremidades de uma string. Esta função recebe os seguintes argumentos:- Uma palavra-chave opcional que especifica as extremidades a serem aparadas. Por padrão, é
BOTH
, mas você pode definirLEADING
(remover do início) ouTRAILING
(remover do final). - Uma string definindo o(s) caractere(s)/espaço(s) que você deseja remover da string (no nosso exemplo, a sequência 'Lx0').
- O
FROM
palavra-chave. - O nome da string/coluna a ser cortado (no nosso exemplo, o model coluna).
Em nosso exemplo, isso se parece com:
TRIM(LEADING 'Lx0' FROM model)