¿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.

 

Artículos relacionados
How to remove duplicate rows in SQL Server, MySql and Oracle?
How to remove duplicate rows in SQL Server, MySql and Oracle?

In this article we will see how to eliminate d

0 Comentarios
Enviame un comentario