MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQL EXPORT_SET()関数で第4・第5引数(セパレータとビット数)を省略すると出力はどうなる?

MySQLのEXPORT_SET()関数では、第5引数である「ビット数」のデフォルト値は64に設定されています。そのため、第5引数に値を指定しなかった場合、MySQLは最大64ビットまでをチェックし、その結果を出力します。

同様に、第4引数である「セパレータ」を省略した場合、MySQLは出力を表示する際にカンマ(,)をセパレータとして自動的に使用します。つまり、両方の引数を省略しても関数はエラーにならず、デフォルト設定に基づいた結果が返されます。

実行例

mysql> SELECT EXPORT_SET(8,'Y','N')\G
*************************** 1. row ***************************
EXPORT_SET(8,'Y','N'): N,N,N,Y,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N
1 row in set (0.00 sec)

上記の例では、第3引数までしか指定していませんが、出力にはカンマ区切りで64個の文字が並んでいることが確認できます。これは、セパレータとして「カンマ(,)」が、ビット数として「64」がそれぞれデフォルトで適用された結果です。このように、EXPORT_SET()関数は引数を省略してもデフォルト値によって正常に動作するため、簡潔な記述が可能です。

  1. MySQL INTERVAL()関数:引数リストに第1引数より大きい数値がない場合に返される値とは?

    INTERVAL()関数の戻り値の挙動MySQLのINTERVAL()関数は、引数リストの中に第1引数より大きい数値がひとつも存在しない場合、「引数リスト内の最後の数値のインデックス番号+1」を返します。言い換えれば、リストの末尾のインデックス番号に1を加えた値が戻り値となるのです。具体的な動作例以下の例では、第1引数として「50」を指定し、比較対象の数値リストとして「20、32、38、40」を渡しています。このリストには50より大きい数値が存在しないため、関数は「4」を返します。mysql> Select INTERVAL(50,20,32,38,40); +-------------

  2. MySQLステートメントで\Gとセミコロン(;)を同時に使うとどうなる?

    \Gとセミコロン(;)それぞれの役割MySQLでは、\GオプションはコマンドをMySQLサーバーへ送信して実行するための終了記号であり、セミコロン(;)も同様にステートメントの終わりを示す役割を持ちます。ただし、両者は結果セットの表示形式が異なる点が大きな特徴です。セミコロン(;):結果を見やすい表形式(タブular形式)で表示する\Gオプション:結果を縦方向(垂直形式)に整形して表示する横幅が広いテーブルの内容を確認したい場合などには、\Gによる縦表示が特に便利です。両方を同じステートメントで使うとどうなる?結論から言うと、1つのMySQLステートメント内で両方の終了記号を使用した場合、My