Façons intelligentes d'utiliser une chaîne de concaténation SQL

Façons intelligentes d'utiliser une chaîne de concaténation SQL / La programmation

Langage d'interrogation structuré (SQL) est un outil remarquablement puissant et riche en fonctionnalités. Une fois que vous avez maîtrisé les commandes SQL les plus importantes 13 Commandes SQL les plus importantes que tout programmeur devrait connaître 13 Commandes SQL les plus importantes que tout programmeur devrait connaître Chaque site Web grand ou dynamique utilise une base de données d’une manière ou d’une autre, et lorsqu'il est combiné avec un langage SQL (Structured Query Language) , les possibilités de manipulation des données sont vraiment infinies. En savoir plus, vous pouvez commencer à être un peu plus créatif avec votre code SQL. Aujourd'hui, je vais vous montrer tout ce que vous devez savoir sur les chaînes de concaténation SQL..

Il existe de nombreux dialectes SQL. Pour tous ces exemples, j'utilise la variante PostgreSQL.

Qu'est-ce que la concaténation??

La concaténation signifie joindre deux choses. Vous l'avez peut-être utilisé dans un langage de programmation pour joindre deux chaînes. Peut-être avez-vous des variables de prénom et de nom que vous avez jointes en tant que variable de nom complet.

La concaténation est un moyen très utile de combiner deux chaînes en une seule.. PHP utilise un arrêt complet pour joindre des chaînes, alors que JavaScript et jQuery Un guide de base des programmeurs JQuery pour Javascript Un guide de base des programmeurs JQuery pour Javascript Si vous êtes un programmeur Javascript, ce guide de JQuery vous aidera à coder comme un ninja. Lire plus utiliser un signe plus.

La concaténation en SQL fonctionne exactement de la même manière. Vous utilisez un opérateur spécial pour joindre deux éléments en un. Voici un exemple en pseudocode:

first_name = Joe last_name = Coburn nom entier = prenom + dernier nom

Dans les langages de programmation, la concaténation facilite la lecture du code. Si votre code doit toujours accéder à deux chaînes, leur combinaison en une seule facilite la mémorisation et réduit la longueur du code..

Alors que les variables en SQL sont moins courantes (mais sont toujours utilisées), la concaténation est toujours nécessaire pour renvoyer les résultats combinés ou pour manipuler des données..

Comment concaténer

La concaténation est très facile en SQL. Bien que SQL soit un langage commun, les moteurs de base de données individuels implémentent les fonctionnalités de différentes manières. Bien que tous ces exemples soient dans le dialecte PostgreSQL, il est facile de traduire d'autres variantes en effectuant simplement une recherche sur le Web. “Enchaîner .” Différents moteurs peuvent avoir une syntaxe différente pour la concaténation, mais le principe reste le même..

Pour revenir à notre exemple de nom, voici une base sélectionner question:

SELECT nom, prénom, e-mail FROM utilisateurs_table

Rien de complexe ici, ajoutons donc dans la concaténation:

SELECT nom || last_name AS nom_complet, email FROM utilisateurs_table

Comme vous pouvez le constater, cette concaténation a parfaitement fonctionné, mais il y a un petit problème. Le nom complet résultant a été assemblé exactement comme le produit des deux colonnes - il devrait y avoir un espace entre les noms.!

Heureusement, c'est facile à corriger: il suffit de concaténer un espace entre les deux:

SELECT prénom || "|| dernier nom AS nom complet, email FROM utilisateurs_table

Ce sont des exemples basiques, mais vous devriez voir comment fonctionne la concaténation - c’est aussi simple que cela! L’opérateur de pipe (|) est utilisé deux fois entre les clauses. Votre moteur SQL sait que chaque partie avant et après ce symbole doit être assemblée et traitée comme une seule. Attention cependant, si vous utilisez l'opérateur concat mais ne concaténez rien, vous obtiendrez une erreur..

Comme mentionné ci-dessus, ces exemples utilisent la variante PostgreSQL de SQL. D'autres variantes peuvent utiliser un opérateur différent, voire une fonction spéciale à appeler. Ça n'a pas vraiment d'importance Comment vous concaténez des chaînes, à condition que vous le fassiez de la manière attendue par votre moteur de base de données.

Aller plus loin

Maintenant que vous connaissez les bases, examinons quelques exemples détaillés ainsi que quelques pièges courants..

La plupart des moteurs de base de données concatèreront avec succès un mélange de chaînes et d'entiers, peut-être même des dates. Vous rencontrerez généralement des problèmes lorsque vous essayez de concaténer des types complexes tels que des tableaux:

SELECT prénom || "|| dernier nom || ARRAY [123, 456] AS nom complet, email FROM utilisateurs_table

Ce code ne fonctionnera pas. Il n'est pas possible de combiner des chaînes avec des objets complexes tels que des tableaux. Si vous pensez à ce que vous devez faire, vous pouvez souvent écrire un code simple qui fonctionne, plutôt que du code complexe et fou qui ne s'exécute pas..

Si vous avez réfléchi à ce que vous devez faire et que vous ne pouvez toujours pas utiliser le code SQL, avez-vous envisagé d'utiliser un langage de programmation? En tant que développeur de logiciels travaillant sur du code hérité, je connais la difficulté d'essayer de déboguer SQL si quelqu'un a tellement bourré de logique qu'il en émerveille - si vous essayez d'écrire de la logique en SQL, puis passez à la programmation langue (il y a beaucoup de langues faciles à apprendre 6 Langages de programmation les plus faciles à apprendre pour les débutants 6 Langages de programmation les plus faciles à apprendre pour les débutants Apprendre à programmer consiste à trouver le bon langage autant que le processus d’édification. Voici les six principaux langages de programmation les plus faciles pour les débutants..

La concaténation fonctionne très bien pour déclarations aussi bien:

SÉLECTIONNER prénom_nom, dernier_nom, email FROM utilisateurs_table WHERE date_de_birth = ('JOUR' || '/' || 'MOIS' || '/' || 'ANNEE) :: date

Il se passe quelques choses ici. Dans cet exemple, JOURNÉE, MOIS, et ANNÉE sont des paramètres qui ont été transmis à partir d'un script. Celles-ci ont peut-être été générées par un code ou entrées par un utilisateur. Celles-ci sont concaténées ensemble, puis converties en un type de date (à l’aide de la syntaxe conversion vers date de PostgreSQL ::rendez-vous amoureux).

Cette concaténation vous permet d’enchaîner les différentes parties d’une date, qui peuvent ensuite être traitées en tant que “réal” date, par opposition à une chaîne. N'oubliez pas que cet exemple de base ne protège pas contre l'injection SQL Qu'est-ce qu'une injection SQL? [MakeUseOf explique] Qu'est-ce qu'une injection SQL? [MakeUseOf explique] Le monde de la sécurité Internet est en proie à des ports ouverts, des portes dérobées, des failles de sécurité, des chevaux de Troie, des vers, des vulnérabilités de pare-feu et une multitude d'autres problèmes qui nous tiennent tous sur le qui-vive tous les jours. Pour les utilisateurs privés,… Lire la suite, ne l'utilisez donc pas dans un code de production sans modifier.

Un autre piège à surveiller est nul valeurs (une chaîne nulle est une chaîne vide ou non existante). Étant donné cette requête:

SELECT prénom || "|| NULL AS nom complet, email FROM utilisateurs_table

Cette requête échoue silencieusement. Cela est dû à la manière dont la concaténation est codée en interne sur votre moteur de base de données. Vous pouvez ne pas toujours rencontrer ce problème, mais c'est assez fréquent.

Si vous pensez que les données renvoyées par votre requête sont nulles, vous devrez utiliser un se fondre. La coalesce peut être considérée à peu près comme “si c'est null, remplacez-le par cette autre chaîne ou colonne”:

SELECT nom_principal || "|| COALESCE (NULL, 'DONNEES ERREUR NULL') AS nom_fonctuel, email FROM utilisateurs_table

Maintenant que vous savez utiliser la concaténation dans SQL, que ferez-vous avec? Allez-vous créer un site Web? Comment créer un site Web: pour les débutants? Comment créer un site Web: pour les débutants aujourd'hui? Je vous guiderai tout au long du processus de création d'un site Web complet à partir de zéro. Ne vous inquiétez pas si cela semble difficile. Je vous guiderai à travers chaque étape du processus. Lire la suite et l'animer avec SQL? Ou peut-être avez-vous besoin d'un générateur de site statique? 7 raisons d'abandonner votre CMS et d'envisager un générateur de site statique 7 raisons d'abandonner votre CMS et d'envisager un générateur de site statique Pendant de nombreuses années, la publication d'un site Web a été difficile pour de nombreux utilisateurs. Les CMS comme WordPress ont changé cela, mais ils peuvent toujours être déroutants. Une autre alternative est un générateur de site statique. Lire la suite pour une approche plus simple de la construction de sites Web.

Quoi que vous fassiez, laissez-nous savoir dans les commentaires ci-dessous!

En savoir plus sur: Programmation, SQL.