Nuevo operador de concatenación en SQL Server 2025

Hola a todos, vamos a ver un nuevo comando que introduce SQL Server 2025 para realizar concatenación de cadenas. Para quien haya utilizado otros motores de BBDD, como Oracle, MySQL o PostgreSQL, será un comando conocido, pero en SQL Server, han decidido introducirlo en esta nueva versión 2025. Es el operador doble pipe (!!). Con este nuevo operador de concatenación Transact-SQL se alinea con el estándar ANSI SQL.

Hasta ahora SQL Server utilizaba dos comandos para concatenar cadenas, el operador + y la función CONCAT(). A partir de esta versión, con el operador || se obtienen algunas ventajas:

– Portabilidad del código entre distintas bases de datos gracias al cumplimiento del estándar ANSI.
– Mayor claridad y consistencia al escribir expresiones de concatenación.
– Interoperabilidad con otros sistemas SQL que ya utilizan este operador desde hace tiempo.

Error si se ejecuta la concatenación con doble pipe en versiones anteriores de SQL Server

Características del operador doble pipe (||)

1. Comportamiento con valores NULL

Tanto el operador + como el operador ||, si cualquier elemento de la concatención es NULL, el resultado total de la operación es NULL. Esto no pasa con la función CONCAT(), donde NULL se convierte implicitamente en cadena vacia.
Esto se puede ver con un ejemplo, utilizando la tabla Person de la BBDD de ejemplo AdventureWorks2025.

Nuevo operador de concatenación en SQL Server

2. Estándar SQL y portabilidad

Al introducir en el lenguaje el operador utilizado en el estandar ANSI, se va a mejorar la portabilidad de código, si se trabaja con varios motores de BBDD, como Oracle o PostgreSQL

3. Conversión de tipos

Para utilizar el comando doble pipe, es necesario que los tipos sean compatibles, ya que el operador realiza una conversión implícita de tipos. Esto ocurre también si se utiliza el operador +. En cambio, la función CONCAT() realiza una conversión de cualquier tipo a cadena de texto al realizar la concatenación

Nuevo operador de concatenación en SQL Server

4. Número de elementos concatenados

Con el comando doble pipe se concatenan las cadenas de dos en dos, tal y como se puede observar en el ejemplo anterior. Se pueden concatenar un número ilimitado de cadenas en la misma query pero siempre de dos en dos. Esto es igual que cuando se utiliza el comando +. En cambio, con la función CONCAT() se pueden concatenar hasta 254 cadenas en la misma llamada.

5. Rendimiento del nuevo operador de concatenación

Según la propia Microsoft, no hay diferencias de rendimiento entre cualquiera de los 3 operadores que se pueden utilizar para concatenar.
Al igual que con los otros operadores, no es recomendable realizar concatenación en la clausula WHERE.

Esperamos que este nuevo comando os sea de utilidad. No dudéis en poneros en contacto con nosotros en caso de necesitar ayuda en la gestión de vuestras bases de datos. Échale un vistazo a nuestros servicios de soporte y mantenimiento SQL Server y Oracle.

¿Aún no conoces Query Performance? Descubre cómo puede ayudarte en tu entorno Oracle. Más información en su página de LinkedIn.

Sígue a GPS en LinkedIn

Deja una respuesta

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