Problema:
Le gustaría eliminar una secuencia de caracteres al principio de una cadena.
Ejemplo:
Nuestra base de datos tiene una tabla llamada product con datos en tres columnas:id , nombre y modelo .
| id | nombre | modelo |
|---|---|---|
| 1 | ver | Lx0A123 |
| 2 | reloj inteligente | Lx0W34 |
| 3 | foto del reloj | Lx0G100 |
Recortemos el código de modelo de cada nuevo producto, eliminando los caracteres innecesarios (Lx0) al principio.
Solución 1:
Usaremos el TRIM() función. Esta es la consulta que escribirías:
SELECT name, TRIM(LEADING 'Lx0' FROM model ) AS new_model_code FROM product;
Aquí está el resultado:
| nombre | nuevo_código_modelo |
|---|---|
| reloj | A123 |
| reloj inteligente | W34 |
| foto del reloj | G100 |
Discusión:
Utilice el TRIM() función con el LEADING palabra clave para eliminar caracteres al principio de una cadena. TRIM() le permite eliminar caracteres o espacios específicos del principio, el final o ambos extremos de una cadena. Esta función toma los siguientes argumentos:
- Una palabra clave opcional que especifica los extremos a recortar. Por defecto, es
BOTH, pero puedes definirLEADING(quitar del principio) oTRAILING(quitar del final). - Una cadena que define los caracteres/espacios que desea eliminar de la cadena (en nuestro ejemplo, la secuencia 'Lx0').
- El
FROMpalabra clave. - El nombre de la cadena/columna que se recortará (en nuestro ejemplo, el modelo columna).
En nuestro ejemplo, esto se ve así:
TRIM(LEADING 'Lx0' FROM model)