Maneras inteligentes de usar una cadena de concatenación de SQL
lenguaje de consulta estructurado (SQL) es una herramienta extraordinariamente poderosa, y está repleta de características. Una vez que haya dominado los comandos SQL más importantes 13 Comandos SQL más importantes que cualquier programador debe saber 13 Comandos SQL más importantes que cualquier programador debe saber Cada sitio web grande o dinámico usa una base de datos de alguna manera, y cuando se combina con el lenguaje de consulta estructurado (SQL) , las posibilidades para manipular datos realmente son infinitas. Lea más, puede comenzar a ser un poco más creativo con su SQL. Hoy te mostraré todo lo que necesitas saber sobre cadenas de concatenación de SQL.
Hay muchos dialectos de SQL diferentes. Para todos estos ejemplos, estoy usando la variante PostgreSQL.
¿Qué es la concatenación??
La concatenación significa unir dos cosas. Es posible que lo haya utilizado en un lenguaje de programación para unir dos cadenas. Tal vez tenga un nombre y variables de apellido que unió como una variable de nombre completo.
La concatenación es una forma muy útil de combinar dos cadenas en una.. PHP utiliza una parada completa para unir cadenas, mientras que JavaScript y jQuery Una guía básica de JQuery para programadores de Javascript Una guía básica de JQuery para programadores de Javascript Si eres un programador de Javascript, esta guía de JQuery te ayudará a comenzar a programar como un ninja. Leer más usar un signo más.
La concatenación en SQL funciona exactamente igual. Usas un operador especial para unir dos cosas en una. Aquí hay un ejemplo en Pseudocódigo:
first_name = Joe last_name = Coburn whole_name = first_name + last_name
En los lenguajes de programación, la concatenación hace que el código sea más fácil de leer. Si su código siempre necesita acceder a dos cadenas, combinarlas en una hace que sea más fácil de recordar y reduce la longitud del código.
Mientras que las variables en SQL son menos comunes (pero aún se usan), la concatenación todavía es necesaria para devolver resultados combinados o para manipular datos.
Cómo concatenar
La concatenacion es muy Fácil en SQL. Si bien SQL es un lenguaje común, los motores de base de datos individuales implementan características de diferentes maneras. Si bien todos estos ejemplos se encuentran en el dialecto PostgreSQL, es fácil de traducir a otras variantes simplemente buscando en la web “Concatenar
Volviendo a nuestro ejemplo de nombre, aquí hay un básico seleccionar consulta:
SELECCIONAR primero nombre, último nombre, correo electrónico DE users_table
Nada complejo aquí, así que vamos a agregar en el concatenar:
SELECCIONAR primero nombre || last_name AS full_name, correo electrónico FROM users_table
Como puede ver, esta concatenación ha funcionado perfectamente, pero hay un pequeño problema. El nombre completo resultante se ha unido exactamente como el producto de ambas columnas: debe haber un espacio entre los nombres!
Afortunadamente, es fácil de solucionar: simplemente consiga un espacio entre los dos:
SELECCIONE primer nombre || "|| último nombre AS nombre completo, correo electrónico DE users_table
Estos son ejemplos básicos, pero debería ver cómo funciona la concatenación. ¡Realmente es así de fácil! El operador de tuberías (|) se utiliza dos veces entre cláusulas. Su motor de SQL sabe que cada parte antes y después de este símbolo debe unirse y tratarse como una sola. Sin embargo, tenga cuidado, si usa el operador concat pero no concatena nada, obtendrá un error..
Como se mencionó anteriormente, estos ejemplos utilizan la variante de SQL de PostgreSQL. Otras variantes pueden usar un operador diferente, o incluso una función especial a la que tiene que llamar. En realidad no importa cómo concatena cadenas, siempre que lo hagas de la manera que espera tu motor de base de datos.
Yendo más profundo
Ahora que conoce los conceptos básicos, veamos algunos ejemplos en profundidad, junto con algunos escollos comunes..
La mayoría de los motores de base de datos lograrán una combinación de cadenas y enteros, incluso fechas. Por lo general, tendrá problemas cuando intente concatenar tipos complejos, como matrices:
SELECCIONE el primer nombre || "|| último nombre || ARRAY [123, 456] COMO nombre completo, correo electrónico DE users_table
Este código no funcionará. No es posible combinar cadenas con objetos complejos como matrices. Si piensa en lo que necesita hacer, a menudo puede escribir código simple que funcione, en lugar de código loco y complejo que no se ejecuta..
Si ha pensado detenidamente en lo que necesita hacer y aún no puede hacer que funcione el SQL, ¿ha considerado utilizar un lenguaje de programación? Como desarrollador de software que trabaja en código heredado, conozco el dolor de tratar de depurar SQL, ya que alguien ha puesto demasiada lógica en esto, es una maravilla que se ejecute, si está intentando escribir lógica en SQL, entonces cambie a una programación. lenguaje (hay muchos lenguajes fáciles de aprender 6 lenguajes de programación más fáciles de aprender para principiantes 6 lenguajes de programación más fáciles de aprender para principiantes Aprender a programar consiste en encontrar el lenguaje correcto tanto como en el proceso de edificación. Aquí están los seis principales Lenguajes de programación más sencillos para principiantes. Leer más).
La concatenación funciona muy bien para dónde declaraciones también:
SELECCIONE primer nombre, último nombre, correo electrónico DE users_table DÓNDE fecha date_of_birth = ('DAY' || '/' || 'MONTH' || '/' || 'YEAR') :: date
Hay algunas cosas que suceden aquí. En este ejemplo, DÍA, MES, y AÑO son parámetros que se han pasado desde un script. Quizás estos hayan sido generados por código, o ingresados por un usuario. Estos se concatenan y luego se convierten en un tipo de fecha (usando la sintaxis de conversión de PostgreSQL a fecha) ::fecha).
El uso de la concatenación de esta manera le permite encadenar las partes individuales de una fecha, que luego pueden procesarse como un “real” fecha, a diferencia de una cadena. No olvide que este ejemplo básico no protege contra la inyección SQL. ¿Qué es una inyección SQL? [MakeUseOf explica] ¿Qué es una inyección SQL? [MakeUseOf Explica] El mundo de la seguridad de Internet está plagado de puertos abiertos, puertas traseras, agujeros de seguridad, troyanos, gusanos, vulnerabilidades de cortafuegos y una gran cantidad de otros problemas que nos mantienen en alerta todos los días. Para usuarios privados,… Leer más, así que no lo utilice en ningún código de producción sin modificar.
Otra trampa a tener en cuenta es nulo valores (una cadena nula es una cadena vacía o no existente). Dada esta consulta:
SELECCIONE el primer nombre || "|| NULL AS full_name, correo electrónico FROM users_table
Esta consulta falla silenciosamente. Esto se debe a la forma en que la concatenación está codificada internamente en su motor de base de datos. Es posible que no siempre encuentre este problema, pero es una ocurrencia bastante común.
Si cree que los datos que devuelve su consulta pueden ser nulos, deberá utilizar un juntarse. La coalescencia puede ser considerada como “si esto es nulo, reemplácelo con esta otra cadena o columna”:
SELECCIONE el primer nombre || "|| COALESCE (NULL, 'ERROR NULL DATA') COMO nombre completo, correo electrónico DE users_table
Ahora que sabes cómo usar la concatenación en SQL, ¿qué harás con ella? ¿Hará un sitio web? Cómo hacer un sitio web: para principiantes? Cómo hacer un sitio web: para principiantes? Hoy lo guiaré a través del proceso de creación de un sitio web completo desde cero. No te preocupes si esto suena difícil. Te guiaré en cada paso del camino. Leer más y animarlo con SQL? O quizás necesite un generador de sitio estático 7 razones para deshacerse de su CMS y considerar un generador de sitio estático 7 razones para deshacerse de su CMS y considerar un generador de sitio estático Durante muchos años, publicar un sitio web fue difícil para muchos usuarios. Los CMS como WordPress cambiaron eso, pero todavía pueden ser confusos. Otra alternativa es un generador de sitio estático. Leer más para un enfoque más simple para la construcción de sitios web.
Hagas lo que hagas, háznoslo saber en los comentarios a continuación.!
Explorar más sobre: Programación, SQL.