Maison >base de données >tutoriel mysql >Pourquoi ma fonction SQL CONCAT renvoie-t-elle une erreur « Nombre d'arguments non valide » ?

Pourquoi ma fonction SQL CONCAT renvoie-t-elle une erreur « Nombre d'arguments non valide » ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-23 16:37:10452parcourir

Why Does My SQL CONCAT Function Return an

Dépannage de la fonction CONCAT : nombre d'arguments non valide

En SQL, la fonction CONCAT est utilisée pour concaténer plusieurs chaînes en une seule chaîne. Cependant, une utilisation incorrecte peut entraîner des erreurs telles que « nombre d'arguments invalide ».

Considérez le scénario suivant : vous disposez d'un tableau avec deux colonnes, "Nom" et "Occupation", et vous souhaitez afficher le valeurs dans un format spécifique avec la première lettre de la profession entre parenthèses.

Votre approche initiale était :

SELECT CONCAT(Name,SUBSTR(Occupation,1,1)) FROM OCCUPATIONS;

Ceci correctement concatène le nom et la première lettre de la profession. Cependant, lorsque vous avez essayé d'ajouter des parenthèses autour avec :

SELECT CONCAT(Name,"(",SUBSTR(Occupation,1,1),")") FROM OCCUPATIONS;

Vous avez rencontré l'erreur "nombre d'arguments invalide". En effet, CONCAT ne peut prendre que deux arguments, pas quatre.

Pour résoudre ce problème, vous pouvez utiliser l'opérateur de concaténation || au lieu de plusieurs fonctions CONCAT :

SELECT Name || '(' || SUBSTR(Occupation,1,1) || ')' FROM OCCUPATIONS;

Cela concatène correctement le nom, la parenthèse ouvrante, la première lettre de la profession et la parenthèse fermante dans le format souhaité.

De plus, vous devez joindre chaînes entre guillemets simples (') au lieu de guillemets doubles (") lorsque vous les utilisez comme paramètres pour des fonctions telles que SUBSTR. Les guillemets doubles sont utilisés pour identifier les identifiants (par exemple, les noms de table ou noms de colonnes).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn