SQL

¿Cómo obtener una subcadena de una cadena de caracteres en SQL Server con la función Substring?

Estrada Web Group
Administrador
¿Cómo obtener una subcadena de una cadena de caracteres en SQL Server con la función Substring?

En este tutorial, aprenderá a usar la función SUBSTRING() de SQL Server para extraer una subcadena de una cadena.

Descripción general de la función SUBSTRING() de SQL Server

SUBSTRING() extrae una subcadena con una longitud especificada a partir de una ubicación en una cadena de entrada.

A continuación, se muestra la sintaxis de la función SUBSTRING():

SUBSTRING(input_string, start, length);
  • input_string puede ser un varchar, binario, texto, ntext o imagen.
  • start es un número entero que especifica la ubicación donde comienza la subcadena que se regresara. Tenga en cuenta que el primer carácter en input_string es 1, no cero.
  • length es un entero positivo que especifica el número de caracteres de la subcadena que se devolverá. La función SUBSTRING() genera un error si la longitud es negativa. Si start + length> que el total del largo de input_string, la subcadena comenzará al inicio e incluirá los caracteres restantes de input_string.

Ejemplos de SUBSTRING () de SQL Server

Veamos algunos ejemplos del uso de la función SUBSTRING() para comprender cómo funciona.

A) Uso de la función SUBSTRING() con cadenas de texto

Este ejemplo extrae una subcadena con una longitud de 12, comenzando desde el quinto carácter, en la cadena 'SQL Server SUBSTRING de Estrada Web Group'.

SELECT  SUBSTRING('SQL Server SUBSTRING de Estrada Web Group', 24, 12) result;

El resultado es el siguiente:

Result
------
Estrada Web

(1 row affected)

B) Uso de la función SUBSTRING() con columnas de una tabla

Utilizaremos la tabla sales.customers en la base de datos de muestra para este ejemplo.

SUBSTRING SQL

Este ejemplo utiliza la función SUBSTRING() para extraer el dominio de las direcciones de correo electrónico de los clientes:

SELECT
    email,
    SUBSTRING(
        email,
        CHARINDEX('@', email)+1,
        LEN(email)-CHARINDEX('@', email)
    ) domain
FROM
    sales.customers
ORDER BY
    email;

Resultado:

como usar sql substring

Cómo funciona.

  1. Primero, utilizamos la función CHARINDEX() para buscar el carácter "@" en el correo electrónico. El dominio comenzará desde el carácter @ más uno.
  2. Luego, utilizamos el resultado de la función CHARINDEX() para determinar:
    • La ubicación inicial del dominio: CHARINDEX ('@', correo electrónico) + 1
    • La longitud del dominio: LEN (correo electrónico) -CHARINDEX ('@', correo electrónico)

Para contar la cantidad de correos electrónicos por dominio, puede usar la siguiente consulta:

SELECT
    SUBSTRING(
        email,
        CHARINDEX('@', email)+1,
        LEN(email)-CHARINDEX('@', email)
    ) domain,
    COUNT(email) domain_count
FROM
    sales.customers
GROUP BY
    SUBSTRING(
            email,
            CHARINDEX('@', email)+1,
            LEN(email)-CHARINDEX('@', email)
);

Resultado:

OBTENER UNA SUBCADENA O SUBQUERY EN SQL SERVER

En este tutorial, ha aprendido cómo usar la función SUBSTRING() de SQL Server para extraer caracteres de una cadena.

 

Compartir artículo:

Más artículos geniales

Cómo consultar datos de varias tablas con INNER JOIN de SQL Server

Cómo consultar datos de varias tablas con INNER JOIN de SQL Server

Resumen: en este tutorial, aprenderás a usar la cláusula INNER JOIN de SQL Server para consultar datos de varias tablas.

Ver artículo completo
Cómo validar si un valor es NULL y regresar otro valor con la función ISNULL en SQL Server

Cómo validar si un valor es NULL y regresar otro valor con la función ISNULL en SQL Server

Resumen: en este tutorial, aprenderás a usar la función ISNULL() de SQL Server para reemplazar NULL con un valor especifico.

Ver artículo completo
Cómo restringir que los valores de una columna sean únicos en SQL Server con UNIQUE

Cómo restringir que los valores de una columna sean únicos en SQL Server con UNIQUE

En este tutorial, aprenderás a utilizar la restricción UNIQUE de SQL Server para garantizar la integridad, precisión y confiabilidad de los datos contenidos en una columna o un grupo de columnas, es decir que no se repitan valores en una columna o en un conjunto de columnas.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla ;