Cadena SQL TRUNCATE: Tutorial y descripción general

Rodrigo Ricardo Publicado el 14 noviembre, 2020 4 minutos y 45 segundos de lectura

Truncar una cadena

Incluso las cadenas de las bases de datos pueden ser extensas. A veces contienen información adicional que no necesitamos necesariamente para consultas o actualizaciones de la base de datos. Necesitamos herramientas que nos ayuden a acortar la longitud de las cuerdas para poder trabajar con ellas.

SQL proporciona tres comandos ingeniosos que nos ayudan a manipular y trabajar con cadenas : LEFT, RIGHT y SUBSTR.

Hay ocasiones en las que es posible que desee insertar un valor en un campo de cadena, pero limite el tamaño de la cadena, ya que el campo se establece en una longitud específica. Esto se puede lograr con el comando LEFT.

Quizás hay cadenas que pueden tener espacios iniciales o caracteres que no desea en la entrada final. En este caso, usamos el comando DERECHA.

También hay una tercera opción, llamada SUBSTR, que implica extraer una sección de una cadena, ni las piezas más a la derecha ni a la izquierda, sino un trozo de la cadena en algún punto intermedio.

La función IZQUIERDA

Digamos que tenemos un campo de cadena en una base de datos que está limitado a 255 caracteres. Por ejemplo, ‘artistName’ almacena el nombre de la banda en una base de datos de música.

En este caso, usaríamos el comando IZQUIERDA (cadena, longitud) , donde cadena es el campo o texto con el que se trabaja y la longitud es la cantidad de caracteres a insertar.

Este ejemplo inserta el nombre del artista en el campo y el prefijo de formulario solo se usa para indicar que podría provenir de un formulario web de usuario:

INSERT INTO tblArtist (artistName) 
VALUES (LEF (Form.artist_name, 255);

El comando LEFT también se puede utilizar como parte de la instrucción SELECT. Supongamos que tiene más de 5,000 caracteres en el campo albumNotes, pero solo desea mostrar al usuario con los primeros 50 caracteres. Para ello escribiríamos esta línea:

SELECCIONAR IZQUIERDA (albumNotes, 50);

La función CORRECTA

La función DERECHA muestra los caracteres de una cadena comenzando por el carácter más a la derecha.

La sintaxis de esta función es DERECHA (cadena, longitud) , donde cadena es el campo o cadena que está truncando, y la longitud indica qué parte de la cadena está extrayendo.

En este ejemplo, todos los datos ingresados ​​en el campo ‘artistCountry’ terminan con el código de país. Albania se almacenaría como ALBANIA-AL y Dinamarca como DENMARK-DK. Si quisiéramos solo el sufijo, el comando DERECHO puede lograr esto así:

SELECCIONE A LA DERECHA (countryName, 3) DE tblArtist DONDE countryName = 'ALBANIA-AL';

El valor se extrae del campo comenzando en la posición 3 (¡recuerde que las cadenas comienzan a contar en el carácter 0!), Devolviendo AL.

La función SUBSTR

¿Qué pasa si el código de país se almacena con un prefijo y un sufijo? Por ejemplo, Dinamarca se almacena como 98-DENMARK-DK, pero solo queremos devolver Dinamarca. Esto es posible usando SUBSTR () con una combinación de LEFT () y RIGHT (). Pero primero, veamos el comando SUBSTR () para tener una idea de cómo funciona.

La sintaxis básica es SUBSTR (cadena, posición, longitud) , donde posición y longitud son números. Por ejemplo, comience en la posición 1 en la cadena countryName y seleccione 15 caracteres. La longitud es opcional en MySQL y Oracle, pero es necesaria en SQL Server.

Para comenzar con el ejemplo de Dinamarca, extraigamos solo los primeros cinco caracteres después del prefijo, así:

SELECCIONE SUBSTR (countryName, 3, 5);

Este código devolvería un valor de DENMA.

Aunque la longitud es opcional en algunos sistemas de bases de datos, es una buena práctica especificarla. Si no conocemos la longitud de la cadena, dado que los nombres de los países pueden variar mucho, existe una función adicional llamada LEN () que se puede utilizar.

En este caso, comenzaremos en la posición 3 y tiraremos del resto de la cuerda, así:

SELECT SUBSTR (countryName, 3, LEN (countryName));

Cuando se ejecuta este código, el resultado será DENMARK-DK.

Está bien, estamos cerca, pero no del todo; ¡todavía nos queda el sufijo! Esto implica un plato de combinación entre todas estas funciones de cadena:

Esto implica algo de matemáticas y puede parecer aterrador, pero es un enfoque bastante sencillo. Una vez descompuesto, tiene sentido.

SELECT SUBSTR (countryName, 3, (LEN (countryName-3));

Esta función agrega algunas matemáticas a la parte derecha de la palabra clave LEN (), restando tres caracteres de esta longitud. Se toma una parte del campo countryName, comenzando en la posición 3, hasta llegar a la longitud, menos tres caracteres, devolviendo DENMARK.

El prefijo y el sufijo se eliminan del resultado y finalmente tenemos los resultados que estábamos buscando.

Puede parecer mucho código en capas, pero en realidad solo le dice a la computadora por dónde empezar. Si no conocemos la longitud de la cadena, la opción LEN nos ayuda a definirla. El ejemplo anterior se usa mucho en SQL e incluso en otros lenguajes de programación para extraer subcadenas.

Resumen de la lección

Revisemos. Cuando necesite acortar datos en una base de datos usando SQL, existen tres herramientas importantes para hacerlo: LEFT, RIGHT y SUBSTR. LEFT saca una parte de la cuerda comenzando desde la posición más a la izquierda; DERECHA saca una parte de la cuerda comenzando desde la posición más a la derecha; y SUBSTR nos ayuda a extraer una parte de una cadena, comenzando desde cualquier posición y terminando en cualquier posición que especifiquemos. Si no conoce la longitud de una cadena, la palabra clave LEN ayuda a determinarlo.

Explora más sobre este tema

Selecciona un tema y sigue aprendiendo...

Rodrigo Ricardo
Rodrigo Ricardo Editor y fundador