MySQLのCONCAT()関数に引数を1つだけ渡すとどうなる?動作をわかりやすく解説
MySQLのCONCAT()関数は、通常は複数の文字列を連結するために使用されますが、実は引数を1つだけ渡すことも可能です。
引数が1つの場合の動作
CONCAT()関数に引数を1つだけ指定した場合、MySQLは連結処理を行わず、渡された引数をそのまま出力として返します。エラーにはならず、入力された文字列がそのまま結果として得られる点が特徴です。
以下の具体例で、実際の動作を確認してみましょう。
実行例
mysql> Select Concat('Delhi');
+-----------------+
| Concat('Delhi') |
+-----------------+
| Delhi |
+-----------------+
1 row in set (0.00 sec)
上記の例では、CONCAT()関数に対して文字列「Delhi」のみを渡しています。その結果、連結は行われず、「Delhi」という文字列がそのまま出力されています。
まとめ
CONCAT()関数に引数を1つだけ渡してもエラーにはならず、その引数の値がそのまま返されることがわかりました。複数の引数を渡した場合はそれらが順番に連結されますが、引数が1つの場合は「何も連結しない」という挙動になるため、覚えておくと便利です。
-
MySQLのTRIM()関数とは?文字列から接頭辞・接尾辞を削除する方法を解説
MySQLのTRIM()関数は、文字列から特定の接頭辞(プレフィックス)や接尾辞(サフィックス)、あるいはその両方を取り除くために使用される関数です。不要な記号や余分な文字を文字列の先頭・末尾から除去したい場合に非常に便利です。TRIM()関数の動作は、以下の構文を見るとよく理解できます。構文TRIM([{BOTH | LEADING | TRAILING} [str_to_remove] FROM] string)各引数の意味は次のとおりです。BOTH:文字列の左側(先頭)と右側(末尾)の両方から指定した文字列を削除します。LEADING:先頭(左側)に付いている文字列のみを削除します。TR
-
MySQLでCHAR()関数の逆の処理を行う方法|ASCII()とORD()の違いを解説
MySQLにおいて、CHAR()関数の逆の働きをするのは ASCII() 関数と ORD() 関数です。CHAR() は数値(文字コード)を文字に変換する関数ですが、ASCII() は引数の文字列の左端の文字に対応する数値(ASCIIコード)を返し、ORD() は左端の文字の文字コードを返します。 ASCII()とORD()の違い どちらも文字から数値への変換を行う点は共通していますが、以下のような違いがあります。 ASCII():シングルバイト文字専用。マルチバイト文字を渡すと警告が出て64を返します。 ORD():マルチバイト文字にも対応しており、最初のバイトの値に基づいて計算された文字