SQLShack (Español)

Este artículo explora la manipulación de cadenas utilizando la función SQL Coalesce en SQL Server.

la manipulación de cadenas es un proceso para generar otra forma de datos existentes de una manera que la empresa utiliza o muestra como resultados en los informes. Los artículos anteriores de SQL string function, que he escrito, incluyendo SQL string functions for Data Munging y SQL Substring function overview discutieron la preparación de datos y las tareas de administración de datos utilizando las funciones de cadena de SQL Server integradas.,

SQL server también tiene algunas funciones de caracteres integradas que también nos permiten manipular y transformar datos. Al mismo tiempo, es importante examinar el conjunto de datos, explorar los valores de los datos y codificar o decodificar los valores, según sea necesario, para generar datos significativos. Es importante saber cómo navegar a través de los valores faltantes en nuestros conjuntos de datos, comprender el impacto en los cálculos, consultas, informes y preparación de conjuntos de datos y desarrollar técnicas para evitar que los valores nulos arruinen nuestros conjuntos de resultados.

¿qué es un valor NULL?,

antes de profundizar en cómo navegar por el campo minado potencial de conjuntos de datos con valores faltantes y evitar pisar un Null, primero echemos un vistazo rápido a lo que es un NULL.

como se define en Wikipedia

Null (o NULL) es un marcador especial utilizado en el lenguaje de consulta estructurado para indicar que un valor de datos no existe en la base de datos. Introducido por el creador del modelo de base de datos relacional, E. F., Codd, SQL Null sirve para cumplir con el requisito de que todos los verdaderos sistemas de gestión de bases de datos relacionales (RDBMS) soportan una representación de «información faltante e información inaplicable». Codd también introdujo el uso del símbolo griego omega (ω) en minúsculas para representar Null en la teoría de bases de datos. En SQL, NULL es una palabra reservada utilizada para identificar este marcador. This esto no debe confundirse con un valor de 0. Un valor nulo indica una falta de valor, la falta de un valor no es la misma cosa que un valor de cero en la misma forma que la falta de una respuesta no es la misma cosa como una respuesta de «no».,

Además …

SQL null es un estado, no un valor. Este uso es bastante diferente de la mayoría de los lenguajes de programación, donde el valor nulo de una referencia significa que no apunta a ningún objeto.

SQL proporciona alguna funcionalidad útil para trabajar con los datos de carácter en sus consultas SQL que describiremos en detalle

SQL Coalesce function

las funciones SQL Coalesce e IsNull se utilizan para manejar valores nulos. Durante el proceso de evaluación de expresiones, los valores NULL se sustituyen por el valor definido por el usuario.,

la función SQL Coalesce evalúa los argumentos en orden y siempre devuelve el primer valor no nulo de la lista de argumentos definida.

sintaxis

COALESCE ( expresión )

propiedades de la función SQL Coalesce

  1. Las expresiones deben ser del mismo tipo de datos
  2. Puede contener múltiples expresiones
  3. La función SQL Coalesce es un atajo sintáctico para la expresión Case
  4. siempre evalúa un entero primero, un entero seguido por la expresión de caracteres produce un entero como salida.,

Ejemplos:

SQL se Unen en una operación de concatenación de cadenas

En el siguiente ejemplo, vamos a concatenar valores. Pero, de nuevo, es solo una revisión para hacerle saber lo que sucede cuando tenemos un valor nulo. Por lo tanto, vamos a seguir adelante y ejecutar el T-SQL. Y podemos ver que encontramos un valor nulo mientras procesamos la operación de concatenación de cadenas. SQL server simplemente devuelve NULL cada vez que encuentra un valor NULL. El resultado no es una combinación de firstname, null y last name.,

1
SELECT firstName +’ ‘+MiddleName+’ ‘+ LastName FullName FROM Person.Person

Let us handle the NULL values using a function called SQL COALESCE. It allows handling the behavior of the NULL value., Entonces, en este caso, use la función coalesce SQL para reemplazar cualquier valor NULL de segundo nombre con un valor » (Char(13)-space). La instrucción SQL aún debe concatenar los tres nombres, pero no se mostrarán valores nulos en la salida. Ahora vemos que el nombre completo se muestra con un espacio en el medio, para valores nulos. De esta manera, es posible personalizar eficientemente los valores de columna.,

1
SELECCIONE el nombre +’ ‘+UNEN(MiddleName,») +’ ‘+ Apellido DE la Persona.Persona

SQL se Unen función y pivotante

El siguiente ejemplo devuelve la concatenación de valores no nulos de la tabla de ‘estado’. En algunos casos, es posible que deba asignar los valores estáticos concatenados a una variable., En este caso, los valores de la columna city se analizan usando la función Coalesce SQL y se concatenan dentro de una comilla simple para preparar una cadena de valores. La salida se manipula posteriormente para eliminar el último carácter para obtener una cadena válida de valor de entrada.,

Output:

1
SELECT ‘(‘+substring(@col,1,len(@col)-1)+’)’

Scalar user-defined function and SQL Coalesce function

A user-defined function is created to return a string specific to the provided input and then the output is grouped using a grouping clause., En el siguiente ejemplo, la función escalar valor devuelve los valores de cadena concatenados separados por’, ‘para una entrada ‘City’ especificada. El siguiente ejemplo devuelve una salida donde la columna de estado está agrupada y sus valores de ciudades están concatenados y separados por un delimitador’, ‘ (coma). También puede usar STRING_AGG si está utilizando SQL Server 2017. Puede consultar más información con el artículo Top SQL string functions en SQL Server 2017

así es como llamamos a la función dbo.tfn_CoalesceConcat en la instrucción select.,

The output is a concatenated stream of values separated by a delimiter ‘,’

1
2
3
4

SELECT state, city = dbo.tfn_CoalesceConcat(state)
FROM dbo.,estado
GRUPO POR estado
el FIN POR el estado;

validación de Datos utilizando SQL se Unen función

En el siguiente ejemplo, vamos a encontrar la emergencia de los empleados de contactos. Por lo general, en cualquier organización, los números de teléfono del empleado se enumeran en las columnas de trabajo, hogar y teléfono celular.

veamos cómo encontrar empleados donde no hay contactos de emergencia en la lista o, en otras palabras, vamos a tirar de todos los detalles del empleado con contactos de emergencia.,

en el siguiente ejemplo, el tb_EmergencyContact contiene los números de contacto de todos los empleados.

la función SQL Coalesce se utiliza para seleccionar las columnas homephone, workphone y cellphone. En caso de valores nulos, el valor ‘NA’ (No aplicable), se devuelve una cadena literal.

SQL Coalesce and Computed columns

el siguiente ejemplo utiliza SQL COALESCE para comparar los valores de las columnas hourlywage, salary y commission y devolver solo el valor no nulo que se encuentra en las columnas.,

el siguiente T-SQL se utiliza para enumerar el salario total pagado a todos los empleados

ahora, veamos un ejemplo para crear una columna calculada con la función SQL Coalesce en SQL Server

en general, es posible que necesitemos usar la expresión en las tablas. En las tablas, es necesario calcular los valores que a menudo se calculan utilizando varias columnas existentes y con pocos valores escalares de la tabla. Además, estas columnas dependen de una o más columnas., De esta manera, podemos crear una columna calculada usando la función Coalesce SQL para que los valores nulos se manejen de manera eficiente.

ahora, puede ver que una simple instrucción SELECT muestra los resultados pre-calculados.

SQL COALESCE and CASE expression

la función SQL COALESCE se puede representar sintácticamente utilizando la expresión CASE. Por ejemplo, como sabemos, la función Coalesce devuelve los primeros valores no nulos.,

SELECT COALESCE (expression1, expression2, expression3) FROM TABLENAME;

la sentencia SQL Coalesce anterior se puede reescribir usando la sentencia CASE.,id=»6df95ef3dd»>

1
2
3
4
5
6
7
8
9
10
11
12
SELECCIONAR
nombre+»+apellido fullname,
relación,
CASO
CUANDO homephone NO es NULL, el homephone
CUANDO el celular NO es NULL, el celular
AL teléfono de trabajo NO es NULL, encabezados
ELSE ‘NA’
INDIA
EmergencyContactNumber
DE la
dbx.,tb_EmergencyContact

La consulta devuelve el mismo resultado que el que utiliza la UNEN función.

Wrap Up

en este artículo, discutimos algunos consejos y trucos para demostrar el uso de la función SQL Coalesce para realizar consultas de manera efectiva con T-SQL. También discutimos varios casos de uso de la función SQL Coalesce. También es posible optimizar la salida creando una columna calculada.

espero que haya disfrutado de este artículo sobre la función Coalesce en SQL Server., No dude en hacer cualquier pregunta en los comentarios a continuación.

  • Autor
  • mensajes Recientes
Soy un Base de datos tecnólogo, de 11+ años de rica experiencia práctica en tecnologías de bases de datos. Soy profesional certificado de Microsoft y respaldado con un título en Maestría en Aplicaciones Informáticas.
Mi especialidad es diseñar & implementar soluciones de alta disponibilidad y migración de bases de datos multiplataforma., Las tecnologías en las que se trabaja actualmente son SQL Server, PowerShell, Oracle y MongoDB.,
Ver todos los mensajes por Prashanth Jayaram

Últimas entradas por Prashanth Jayaram (ver todos)
  • Una rápida visión general de auditoría de base de datos en SQL – 28 de enero, 2021
  • Cómo configurar Azure Sincronización de Datos entre bases de datos de SQL Azure y SQL Server local – 20 de enero de 2021
  • Cómo realizar Azure SQL de la base de datos de Importación/Exportación de las operaciones con el uso de PowerShell – 14 de enero de 2021

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *