sql >> Base de Datos >  >> RDS >> Database

¿Cómo recuperar un conjunto de caracteres usando SUBSTRING en SQL?

El lenguaje de consulta estructurado tiene como objetivo brindar a los usuarios la capacidad de recuperar los datos en el formato que deseen. En este artículo sobre una subcadena en SQL, le mostraré cómo extraer un conjunto de caracteres de una cadena. Los siguientes temas se tratarán en este artículo:

  • ¿Qué es SQL?
  • ¿Qué es SUBSTRING en SQL?
    1. Sintaxis:
  • SUBCADENA Ejemplos:
    1. Usar SUBSTRING en literales
    2. Usar SUBSTRING en la tabla con condiciones
    3. UTILIZAR SUBCADENA en consultas anidadas

¡Empecemos!

¿Qué es SQL?

SQL o lenguaje de consulta estructurado fue desarrollado por Donald D. Chamberlin y se usa para administrar, acceder y recuperar datos en una base de datos. Consta de varios comandos segregados en 4 categorías (DDL, DML, DCL y TCL). SUBSTRING es uno de esos comandos en SQL, que se utiliza para recuperar un conjunto de caracteres de la cadena especificada.

A continuación, en este artículo, profundicemos en lo que es SUBSTRING en SQL y cómo usarlo.

¿Qué es SUBSTRING en SQL?

SUBSTRING en SQL es una función que se usa para recuperar caracteres de una cadena. Con la ayuda de esta función, puede recuperar cualquier cantidad de subcadenas de una sola cadena.

Sintaxis:

SUBSTRING(string, starting_value, length)

Aquí,

  • Cadena – Representa la cadena de la que debe extraer un conjunto de caracteres.
  • Valor_inicial – Esto representa la posición inicial de la cadena. El primer carácter de la cadena recibe el valor 1.
  • Longitud – Representa el número de caracteres que desea extraer.

Consulte la imagen a continuación para ver la representación pictórica de SUBSTRING en SQL.

Nota:

  • La función SUBSTRING generará un error si el parámetro de longitud es negativo.
  • La longitud de los caracteres puede exceder la longitud máxima de la cadena original. En tal escenario, la cadena completa se extraerá de la posición inicial mencionada.
  • Los tres campos son obligatorios en esta función
  • Si la posición inicial es mayor que el número máximo de caracteres en la cadena, entonces no se devuelve nada.

Ya que ha entendido la sintaxis y las reglas para usar la SUBCADENA en SQL, analicemos ahora las diversas formas de usarla.

SUBCADENA Ejemplos:

Para su mejor comprensión, he dividido los ejemplos en las siguientes secciones:

    1. Usar SUBSTRING en literales
    2. Usar SUBSTRING en la tabla con condiciones
    3. UTILIZAR SUBCADENA en consultas anidadas

Analicemos cada uno de ellos.

Usar SUBSTRING en literales

Cuando usa SUBSTRING en SQL para literales, extrae una subcadena de la cadena especificada con una longitud y comienza desde el valor inicial mencionado por el usuario.

Ejemplo 1

Escriba una consulta para extraer una subcadena de la cadena "Edureka", a partir del carácter 2 y debe contener 4 caracteres.

 
SELECT SUBSTRING(‘Edureka’, 2, 4);

Salida

dure

Ejemplo 2

Escribe una consulta para extraer una subcadena de 8 caracteres, comenzando por el 2 carácter de la cadena “Edureka”. Aquí, si observa, necesitamos extraer una subcadena con una longitud mayor que la longitud máxima de la expresión.

SELECT SUBSTRING(‘Edureka’, 2, 8);

Salida

dureka

Usar SUBSTRING en la tabla con condiciones

Considere la siguiente tabla con el nombre de tabla Clientes.

ID de cliente

Nombre de cliente

Correo electrónico del cliente

1

Anuj

[email protected]

2

Akash

[email protected]

3

Mitali

[email protected]

4

Sonali

[email protected]

5

Sanjay

[email protected]

Si desea saber cómo crear una tabla e insertar valores en ella, puede consultar el artículo sobre instrucciones CREAR e INSERTAR.

Ejemplo 1

Escriba una consulta para extraer una subcadena de 3 caracteres, comenzando por el 1 carácter para el CustName "Akash".

SELECT SUBSTRING(CustName, 1, 3)
FROM Customers
WHERE CustName = ‘Akash’;

Salida

Aka

Ejemplo 2

Escriba una consulta para extraer una subcadena hasta el final de la cadena, comenzando por el carácter 2 del CustName "Akash".

SELECT SUBSTRING(CustName, 2)
FROM Customers
WHERE CustName = ‘Akash’;

Salida

kash

Ejemplo 3

Escriba una consulta para extraer una subcadena de 3 caracteres, comenzando por el 2 carácter para CustName y ordénela de acuerdo con CustName.

SELECT CustName
FROM Customers
ORDER BY SUBSTRING(CustName, 2, 3);

Salida:

anj
ita
kas
nuj
ona

UTILIZAR SUBCADENA en consultas anidadas

En esta sección de este artículo sobre una subcadena en SQL, comprendamos cómo usar la función SUBSTRING en consultas anidadas. Para entender lo mismo, consideremos la tabla Clientes, que hemos considerado anteriormente.

Ejemplo:

Escriba una consulta para extraer todo el dominio de la columna CustEmail en la tabla Clientes.

SELECT
    CustEmail,
    SUBSTRING(
        CustEmail,
        CHARINDEX('@', CustEmail)+1,
        LEN(CustEmail)-CHARINDEX('@', CustEmail)
    ) Domain
FROM
   Customers
ORDER BY
    CustEmail;

Salida :

Correo electrónico del cliente

Dominio

[email protected]

abc.com

[email protected]

xyz.com

[email protected]

pqr.com

[email protected]

abc.com

[email protected]

xyz.com

Dado que el dominio comienza después del carácter @, hemos utilizado la función CHARINDEX() para buscar el carácter @ en la columna CustEmail. Luego, el resultado de esta función se usa para determinar la posición inicial y la longitud de la subcadena que se extraerá.

Entonces, amigos, así es como pueden usar la función SUBSTRING en SQL para recuperar datos. Con eso, llegamos al final de este artículo sobre SUBSTRING en SQL. Espero que hayas encontrado este artículo informativo.

Si desea obtener más información sobre MySQL y conozca esta base de datos relacional de código abierto, luego consulte nuestra Capacitación en certificación MySQL DBA que viene con capacitación en vivo dirigida por un instructor y experiencia en proyectos de la vida real. Esta capacitación lo ayudará a comprender MySQL en profundidad y lo ayudará a dominar el tema.

¿Tiene alguna pregunta para nosotros? Menciónelo en la sección de comentarios de este artículo y me comunicaré con usted.