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

MySQL EXPORT_SET()関数で第5引数(ビット数)を省略すると出力はどうなる?

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

この動作は、以下の実行例を見るとよく理解できます。

実行例

mysql> SELECT EXPORT_SET(5, 'Y','N',' ')\G
*************************** 1. row ***************************
EXPORT_SET(5, 'Y','N',' '): Y 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 N N
1 row in set (0.00 sec)

この例では、第4引数で区切り文字としてスペースを指定していますが、第5引数は省略されています。それにもかかわらず、MySQLは64ビット分すべてをチェックし、「Y」と「N」をスペースで区切った長い文字列を返していることがわかります。

ポイントまとめ

  • 第5引数(ビット数)のデフォルト値は64
  • 省略した場合は、自動的に64ビットまで展開される
  • 必要なビット数だけ表示したい場合は、第5引数に任意の数値を指定する
  1. MySQLのINTERVAL()関数で第1引数にNULLを指定した場合の戻り値とは?

    INTERVAL()関数の第1引数がNULLだった場合の戻り値MySQLのINTERVAL()関数は、第1引数と残りの引数リストを比較し、第1引数の値がどこまで続く範囲に該当するかを示すインデックスを返す関数です。そして重要なポイントとして、第1引数にNULLを指定した場合、戻り値は必ず-1になります。実際の動作を以下の例で確認してみましょう。mysql> Select INTERVAL(NULL,20,32,38,40,50,55);+--------------------------------------+| INTERVAL(NULL,20,32,38,40,50,55)

  2. MySQLのMAX()集計関数で列の最大値を取得する方法

    MySQLでは、列の最大値を取得するために、あらかじめ用意されている集計関数 MAX() を使用できます。この記事では、実際にテーブルを作成し、データを挿入して、MAX()関数で最大値を取得する手順を具体的に解説します。1. テーブルの作成まず、サンプルとなるテーブルを作成します。mysql> create table DemoTable ( Id int ); Query OK, 0 rows affected (0.96 sec)2. レコードの挿入次に、INSERTコマンドを使ってテーブルにいくつかのレコードを挿入します。mysql> insert into Demo