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

EXPORT_SET()関数はMySQLでどのように機能しますか?


これは、検索に使用されるMySQL文字列関数でもあります。 EXPORT_SET()関数の次の構文の助けを借りて、その動作を理解することができます-

構文
EXPORT_SET(bits, on, off, separator, number of bits)
この構文では

ビット(整数をビットに変換した後に取得)は、1または0の場合に比較されます。

‘On’は関数の2番目の引数であり、引用符に任意の値があり、最初の引数のビットの値が1の場合に返されます。

‘Off’は関数の3番目の引数であり、引用符に任意の値があり、最初の引数のビットの値が0の場合に返されます。

セパレータは、出力を表示するときに戻り値の間に配置するために使用されます。引用符で囲んだ任意の文字または値にすることができます。

いくつかのビットには、1または0の場合に比較されるビットの値があります。

EXPORT_SET()関数の動作 次のように機能します-

  • まず、最初の引数として指定された整数値は、いくつかのビットに変換されます(つまり、0と1)。次に、すべてのビットが1か0かがチェックされます。チェックの順序は右から左です。
  • これで、MySQLは、ビットが1または0の場合にチェックした後、何をするかを決定します。ビットが1の場合、2番目の引数(「on」)を返します。また、ビットが0の場合、3番目の引数、つまり「オフ」を返します。
  • チェックは、5番目の引数で指定されたビット数まで続行されます。
  • これで、上記に基づいて、MySQLは出力を返し、戻り値の間にセパレーターを配置します。値は左から右に返されます。
mysql> Select EXPORT_SET(8, '1','0',',', 8);

+-------------------------------+
| EXPORT_SET(8, '1','0',',', 8) |
+-------------------------------+
| 0,0,0,1,0,0,0,0               |
+-------------------------------+

1 row in set (0.00 sec)

mysql> Select EXPORT_SET(8, '1','0',',', 4);

+-------------------------------+
| EXPORT_SET(8, '1','0',',', 4) |
+-------------------------------+
| 0,0,0,1                       |
+-------------------------------+

1 row in set (0.00 sec)

両方の例で、最初の引数として8を指定しました。これは、ビット、つまり1000に変換され、1、0、最大8ビット(最初の例)以上でチェックされます。 1番目と2番目の例ではそれぞれ8と4が5番目の引数として指定されているため、(2番目の例では)4ビットになります。出力を表示しているときに、両方の例で4番目の引数として指定されているため、コンマ(、)が区切り文字として使用されていることがわかります。

チェックの順序は右から左、つまりこの例では1000であることがわかっているので、右端のビットは0であるため、3番目の引数、つまり0が返され、次の2つの場所に0があります。したがって、さらに2つの0が返され、それが1であるため、2番目の引数、つまり1が返されます。 2番目の例では、チェックが4桁まで行われたため、最大4桁の出力を受け取りましたが、1番目の例では、最大8桁であるため、出力で8桁を受け取りました。出力の順序は左から右であるため、出力は1番目の例では0,0,0,1,0,0,0,0、2番目の例では0,0,0,1と表示されます。


  1. Python関数で変数スコープはどのように機能しますか?

    Pythonの変数は、それに値を割り当てるときに定義されます。 Cや他の言語のように、事前に宣言することはありません。使い始めたばかりです。 x = 141 ファイルまたはモジュールのトップレベルで宣言する変数はすべてグローバルスコープにあります。関数内でアクセスできます。 変数は、その仕事をするために必要な最も狭い範囲を持つ必要があります。 例 与えられたコードで x = 141 def foo():     x = 424 #local variable     print x foo() print x 出力 424 141 説明 foo内の

  2. Python関数を関数の引数として渡す方法は?

    Pythonは、最初のパラメーターが関数である次のメソッドを実装します- map(function、iterable、...)-iterableのすべてのアイテムに関数を適用し、結果のリストを返します。 関数を引数として渡すことができるカスタム関数を作成することもできます。 指定されたコードを書き直して、mapメソッドを使用して関数sqr(x)を関数の引数として渡します。 例 s = [1, 3, 5, 7, 9] def sqr(x): return x ** 2 print(map(sqr, s)) We can as well use lambda function to get s