sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo concatenar cadenas en SQL

La mayoría de los principales RDBMS ofrecen varias opciones para concatenar dos o más cadenas.

  • Está el CONCAT() función, que concatena sus argumentos.
  • También hay un CONCAT_WS() que le permite especificar un separador que separa las cadenas concatenadas.
  • Y también hay un operador de concatenación de cadenas, que nos permite concatenar sus operandos.

A continuación se muestran ejemplos de cada método.

El CONCAT() Función

La mayoría de los principales RDBMS proporcionan un CONCAT() función para concatenar sus argumentos de cadena. Generalmente, los argumentos que no son cadenas se convierten en una cadena antes de que ocurra la concatenación.

Ejemplo:

SELECT CONCAT('Bangkok', 'Breaking');

Resultado:

BangkokBreaking

Con esta función, si queremos incluir un espacio entre las cadenas, debemos agregar un espacio a una de las cadenas o incluir un espacio como un argumento separado:

SELECT 
    CONCAT('Bangkok ', 'Breaking') AS "Option 1",
    CONCAT('Bangkok', ' ', 'Breaking') AS "Option 2";

Resultado:

+------------------+------------------+
| Option 1         | Option 2         |
+------------------+------------------+
| Bangkok Breaking | Bangkok Breaking |
+------------------+------------------+

RDBMS que tienen un CONCAT() incluyen MySQL, MariaDB, SQL Server, Oracle y PostgreSQL.

SQLite no incluye un CONCAT() funciona, pero tener un operador de concatenación de cadenas (ver más abajo).

El CONCAT_WS() Función

Otra forma de incluir un espacio entre las cadenas es usar CONCAT_WS() función. Esta función le permite especificar un separador que se usará para separar todas las cadenas concatenadas.

Ejemplo:

SELECT CONCAT_WS(' ', 'Bangkok', 'Breaking');

Resultado:

Bangkok Breaking

Esta función puede ser particularmente útil si tiene muchas cadenas para concatenar:

SELECT CONCAT_WS(', ', 'Red', 'Green', 'Orange', 'Blue');

Resultado:

Red, Green, Orange, Blue

En tales casos, solo necesita especificar el separador una vez.

RDBMS que tienen un CONCAT_WS() incluyen MySQL, MariaDB, SQL Server y PostgreSQL.

SQLite y Oracle no tienen un CONCAT_WS() funcionan, pero lo hacen tener un operador de concatenación de cadenas (ver más abajo).

El operador de concatenación de cadenas

La mayoría de los RDBMS incluyen un operador de concatenación de cadenas que concatena sus operandos.

Si está utilizando SQLite, esta es su única opción.

Ejemplo:

SELECT 'Spy' || 'craft';

Resultado:

Spycraft

Tenga en cuenta que en MySQL, primero deberá habilitar el operador de concatenación de tuberías.

Lo mismo ocurre con MariaDB.

Servidor SQL

El ejemplo anterior no funcionará en SQL Server. En SQL Server, use el signo más (+ ) operador de concatenación de cadenas:

SELECT 'Spy' + 'craft';

Resultado:

Spycraft