Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Funktionsweise der Funktion EXPORT_SET() in MySQL

Der MySQL EXPORT_SET() Funktion gibt einen String zurück, der die Bits in einer Zahl darstellt.

Sie können anpassen, wie die Funktion die Zeichenfolge ausgibt. Die Funktion akzeptiert eine Reihe von Argumenten, die Ihnen dies ermöglichen. Wenn Sie die Funktion aufrufen, geben Sie die betreffende Nummer sowie Argumente an, die bestimmen, wie die Ergebnisse angezeigt werden.

Syntax

Die Syntax lautet wie folgt:

EXPORT_SET(bits,on,off[,separator[,number_of_bits]])

Hier ist eine Erklärung der Argumente:

Bits
Dies ist die Zahl, für die Sie die Ergebnisse zurückgeben möchten. Für jedes Bit, das in diesem Wert gesetzt ist, erhalten Sie ein on string, und für jedes Bit, das nicht im Wert gesetzt ist, erhalten Sie ein off Schnur. Die Bits werden von rechts nach links untersucht (von niederwertigen zu höherwertigen Bits).
ein
Dies ist, was für alle on zurückgegeben wird Bits.
aus
Dies ist, was für off zurückgegeben wird Bits.
Trennzeichen
Dies ist ein optionales Argument, mit dem Sie das zu verwendende Trennzeichen angeben können. Der Standardwert ist das Kommazeichen. Wenn Sie dieses Argument nicht angeben, wird daher ein Komma als Trennzeichen verwendet.
Anzahl_von_Bits
Die Anzahl der zu untersuchenden Bits. Der Standardwert ist 64. Wenn Sie einen größeren Wert angeben, wird dieser stillschweigend auf 64 gekürzt, wenn er größer als 64 ist.

Beispiel 1 – Grundlegende Verwendung

Hier ist ein Beispiel, um die grundlegende Verwendung dieser Funktion zu demonstrieren.

SELECT EXPORT_SET(9,'On','Off',',',4);

Ergebnis:

+-------------------------------+| EXPORT_SET(9,'Ein','Aus',',',4) |+------------------------------ --+| Ein,Aus,Aus,Ein |+-------------------------------+

Um dieses Ergebnis zu verstehen, müssen wir verstehen, wie die Zahl 9 wird in Bits dargestellt. Dazu können wir den BIN() verwenden Funktion zur Ausgabe der binären Darstellung der Zahl 9.

SELECT BIN(9);

Ergebnis:

+--------+| BIN(9) |+--------+| 1001 |+--------+

Wir können also sehen, dass die binäre Darstellung von 9 1001 ist . Jeweils 1 ist ein Ein Bit (es ist gesetzt) ​​und jedes 0 ist ein Aus bit (es ist nicht gesetzt).

Beispiel 2 – Ändern Sie das 2. und 3. Argument

Wir können das vorherige Beispiel nehmen und das zweite und dritte Argument ändern.

SELECT EXPORT_SET(9,'Y','N',',',4);

Ergebnis:

+-------------------------------------+| EXPORT_SET(9,'Y','N',',',4) |+-------------------------------------+ | J,N,N,J |+----------------------------------------+

Also jetzt für jedes on bisschen erhalten wir Y , und jeweils aus bit gibt N zurück .

Wir könnten es sogar so ändern, dass Einsen und Nullen zurückgegeben werden:

SELECT EXPORT_SET(9,1,0,',',4);

Ergebnis:

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

Beispiel 3 – Ändern Sie das 4. Argument (das Trennzeichen)

In den vorherigen Beispielen haben wir explizit ein Komma als Trennzeichen angegeben. Dies ist auch der Standardwert.

Wir können das Trennzeichen bei Bedarf ändern.

SELECT EXPORT_SET(9,1,0,'-',4);

Ergebnis:

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

Und das passiert, wenn wir den leeren String als Trennzeichen angeben:

SELECT EXPORT_SET(9,1,0,'',4);

Ergebnis:

+------------------------+| EXPORT_SET(9,1,0,'',4) |+------------------------+| 1001 |+------------------------+

Beispiel 4 – Ändern Sie das 5. Argument

Das fünfte Argument gibt an, wie viele Bits untersucht werden sollen. Im vorherigen Beispiel haben wir 4 verwendet als Wert, also wurden nur vier Bits untersucht (und zurückgegeben). Wir können dies nach Bedarf erhöhen oder verringern, indem wir als viertes Argument einen anderen Wert angeben.

SELECT EXPORT_SET(9,1,0,'-',10);

Ergebnis:

+---------------------+| EXPORT_SET(9,1,0,'-',10) |+---------------------+| 1-0-0-1-0-0-0-0-0-0 |+---------------------+ 

In diesem Beispiel haben wir die Anzahl der untersuchten Bits auf 10 erhöht.

Denken Sie daran, dass die Bits von rechts nach links untersucht werden, sodass die zusätzlichen Nullen in diesem Beispiel eigentlich für die höherwertigen Nullen sind. Es ist also in umgekehrter Reihenfolge zur tatsächlichen binären Darstellung.

Hier ist ein Beispiel, um zu demonstrieren, was ich meine:

SELECT BIN(567), EXPORT_SET(567,1,0,'',10);

Ergebnis:

+------------+---------------------+| BIN(567) | EXPORT_SET(567,1,0,'',10) |+------------+--------------------- -----+| 1000110111 | 1110110001 |+-----------+-------------------------------+

In diesem Fall sehen sie wie Spiegelbilder aus. Im Grunde das Ergebnis von EXPORT_SET() ist in umgekehrter Reihenfolge zu BIN() .

Der Standardwert für das fünfte Argument ist 64. Wenn wir also dieses Argument weglassen, werden so viele Bits untersucht.

SELECT EXPORT_SET(9,1,0,'-');

Ergebnis:

+---------------------------------------------- -------------------------------------------------- ---------------------------------+| 1-0-0-1-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0- 0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0- 0-0-0-0-0-0-0-0-0-0-0-0-0-0 |+--------------------- -------------------------------------------------- -------------------------------------------------- --------+

Dies wird stillschweigend auf 64 gekürzt. Wenn Sie also einen Wert außerhalb dieses Bereichs eingeben, wird er auf 64 gekürzt.

SELECT EXPORT_SET(9,1,0,'-',500);

Ergebnis:

+---------------------------------------------- -------------------------------------------------- ---------------------------------+| 1-0-0-1-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0- 0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0- 0-0-0-0-0-0-0-0-0-0-0-0-0-0 |+--------------------- -------------------------------------------------- -------------------------------------------------- --------+

Es ist eine Ganzzahl ohne Vorzeichen, also dasselbe Ergebnis, wenn Sie einen negativen Wert verwenden:

SELECT EXPORT_SET(9,1,0,'-',-4);

Ergebnis:

+---------------------------------------------- -------------------------------------------------- ---------------------------------+| 1-0-0-1-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0- 0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0- 0-0-0-0-0-0-0-0-0-0-0-0-0-0 |+--------------------- -------------------------------------------------- -------------------------------------------------- --------+

Beispiel 5 – Verwenden von Standardwerten

Wir können die letzten beiden Argumente weglassen, um die Standardwerte zu verwenden:

SELECT EXPORT_SET(9,'On','Off');

Ergebnis:

+---------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ---------+| Ein, Aus, Aus, Ein, Aus, Aus, Aus, Aus, Aus, Aus, Aus, Aus, Aus, Aus, Aus, Aus, Aus, Aus, Aus, Aus, Aus, Aus, Aus, Aus, Aus, Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus, Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus,Aus |+--------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ---------------------------------+