ホームページ >データベース >mysql チュートリアル >SQL CONCAT 関数が「引数の数が無効です」エラーを返すのはなぜですか?
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 サイトの他の関連記事を参照してください。