Introducción :
como DBA, es posible que se encuentre con una solicitud en la que necesite extraer el dominio de la dirección de correo electrónico, la dirección de correo electrónico que se almacena en la tabla de la base de datos. En caso de que desee contar los nombres de dominio más utilizados de las direcciones de correo electrónico en una tabla determinada, puede contar la cantidad de dominios extraídos del correo electrónico en SQL Server como se muestra a continuación.
Las consultas SQL se pueden utilizar para extraer el dominio de la dirección de correo electrónico.
Vamos a crear una tabla llamada “ email_demo ” –
create table (ID int, Email varchar (200));
Insertar valores en la tabla email_demo –
insert into email_demo values( (1, 'Sam@gfg.com'), (2, 'Khushi@gfg.com'), (3, 'Komal@gfg.org'), (4, 'Priya@xyz.com'), (5, 'Sam@xyz.com'), (6, 'Krish@xyz.com'), (7, 'Neha@gfg.com'), (8, 'Pam@gfg.com'), (9, 'Mohan@abc.com'), (10, 'Ankit@mno.com'), (11, 'Kumari@gfg.com'), (12, 'Hina@abc.com'), (13, 'Jaya@mno.com'), (14, 'Piyush@abc.com'), (15, 'Khushi@xyz.com'), (16, 'Mona@gfg.org'), (17, 'Roza@abc.com'));
Visualización del contenido de la tabla –
select * from email_demo;
IDENTIFICACIÓN | Correo electrónico |
---|---|
1 | Sam@gfg.com |
2 | Khushi@gfg.com |
3 | Komal@gfg.org |
4 | Priya@xyz.com |
5 | Sam@xyz.com |
6 | Krish@xyz.com |
7 | Neha@gfg.com |
8 | pam@gfg.com |
9 | Mohan@abc.com |
10 | Ankit@mno.com |
11 | Kumari@gfg.com |
12 | Hina@abc.com |
13 | Jaya@mno.com |
14 | Piyush@abc.com |
15 | Khushi@xyz.com |
dieciséis | Mona@gfg.org |
17 | Roza@abc.com |
1. Extraiga el dominio del correo electrónico en SQL Server:
en el siguiente ejemplo, usaremos la función SUBSTRING para seleccionar la string después del símbolo @ en cada uno de los valores.
SQL Extraer dominio del correo electrónico –
SELECT ID, SUBSTRING ([Email], CHARINDEX( '@', [Email]) + 1, LEN([Email])) AS [Domain] FROM [email_demo];
PRODUCCIÓN :
IDENTIFICACIÓN | Dominio |
---|---|
1 | gfg.com |
2 | gfg.com |
3 | gfg.org |
4 | xyz.com |
5 | xyz.com |
6 | xyz.com |
7 | gfg.com |
8 | gfg.com |
9 | abc.com |
10 | mno.com |
11 | gfg.com |
12 | abc.com |
13 | mno.com |
14 | abc.com |
15 | xyz.com |
dieciséis | gfg.org |
17 | abc.com |
Se acercó usado:
- Aquí asignamos la fuente como nuestro nombre de columna ‘Correo electrónico’ en la función SUBCADENA.
- A continuación, usamos la función CHARINDEX para encontrar el símbolo @ y luego agregamos 1, de modo que el punto de partida estará después del símbolo @.
- Luego, usamos la función LEN para especificar el valor final.
2. Cuente la cantidad de dominios extraídos del correo electrónico en SQL Server:
Enfoque 1: consulta SQL para contar la cantidad de registros para extraer el nombre de dominio del correo electrónico:
SELECT RIGHT ([Email], LEN([Email]) - CHARINDEX( '@', [Email])) AS [Domain], COUNT(*) AS [Total Number of Domain] FROM [email_demo] WHERE LEN([Email ]) > 0 GROUP BY RIGHT([Email], LEN([Email]) - CHARINDEX( '@', [Email]));
PRODUCCIÓN :
Dominio | Número total de dominio |
---|---|
abc.com | 4 |
gfg.com | 5 |
gfg.org | 2 |
mno.com | 2 |
xyz.com | 4 |
Enfoque 2: consulta SQL para contar el número de registros para extraer el nombre de dominio del correo electrónico:
SELECT SUBSTRING ([Email], CHARINDEX( '@', [Email] ) + 1, LEN([Email])) AS [Domain], COUNT(*) AS [Total Number of Domain] FROM [email_demo] WHERE LEN([Email]) > 1 GROUP BY SUBSTRING ([Email], CHARINDEX( '@', [Email] ) + 1, LEN([Email]));
PRODUCCIÓN :
Dominio | Número total de dominio |
---|---|
abc.com | 4 |
gfg.com | 5 |
gfg.org | 2 |
mno.com | 2 |
xyz.com | 4 |
Publicación traducida automáticamente
Artículo escrito por khushboogoyal499 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA