ホームページ >データベース >mysql チュートリアル >SQL CONCAT 関数が「引数の数が無効です」エラーを返すのはなぜですか?

SQL CONCAT 関数が「引数の数が無効です」エラーを返すのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-23 16:37:10452ブラウズ

Why Does My SQL CONCAT Function Return an

CONCAT 関数のトラブルシューティング: 引数の数が無効です

SQL では、CONCAT 関数は複数の文字列を 1 つの文字列に連結するために使用されます。ただし、これを不適切に使用すると、「引数の数が無効です」などのエラーが発生する可能性があります。

次のシナリオを考えてみましょう。「名前」と「職業」という 2 つの列があるテーブルがあり、括弧内に職業の最初の文字を含む特定の形式の値。

最初のアプローチは次のとおりです。

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

これは正しくあります。名前と職業の頭文字を連結したもの。ただし、

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

で括弧を追加しようとすると、「引数の数が無効です」というエラーが発生しました。これは、CONCAT が引数を 4 つではなく 2 つしか取れないためです。

これを修正するには、連結演算子 || を使用できます。複数の CONCAT 関数の代わりに:

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

これにより、名前、開き括弧、職業の最初の文字、右括弧が目的の形式に正しく連結されます。

さらに、次のように囲む必要があります。 SUBSTR などの関数のパラメータとして文字列を使用する場合は、文字列を二重引用符 (") ではなく一重引用符 (') で囲みます。二重引用符は識別子の識別に使用されます。 (例: テーブル名または列名)。

以上がSQL CONCAT 関数が「引数の数が無効です」エラーを返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。