De MySQL EXPORT_SET()
functie retourneert een tekenreeks die de bits in een getal vertegenwoordigt.
U hebt de mogelijkheid om aan te passen hoe de functie de tekenreeks uitvoert. De functie accepteert een aantal argumenten waarmee u dit kunt doen. Wanneer u de functie aanroept, geeft u het betreffende nummer op, evenals argumenten die bepalen hoe de resultaten worden weergegeven.
Syntaxis
De syntaxis gaat als volgt:
EXPORT_SET(bits,on,off[,separator[,number_of_bits]])
Hier is een uitleg van de argumenten:
- bits
- Dit is het nummer waarvan u de resultaten wilt retourneren. Voor elk bit dat in deze waarde is ingesteld, krijg je een aan tekenreeks, en voor elk bit dat niet in de waarde is ingesteld, krijg je een uit draad. De bits worden van rechts naar links bekeken (van lage tot hoge orde bits).
- op
- Dit is wat wordt geretourneerd voor elke op bits.
- uit
- Dit is wat wordt geretourneerd voor elke uit bits.
- scheidingsteken
- Dit is een optioneel argument dat u kunt gebruiken om het te gebruiken scheidingsteken op te geven. De standaardwaarde is het kommateken. Als u dit argument niet opgeeft, wordt daarom een komma als scheidingsteken gebruikt.
- aantal_van_bits
- Het aantal te onderzoeken bits. De standaardwaarde is 64. Als u een grotere waarde opgeeft, wordt deze stil geknipt tot 64 indien groter dan 64.
Voorbeeld 1 – Basisgebruik
Hier is een voorbeeld om het basisgebruik van deze functie te demonstreren.
SELECT EXPORT_SET(9,'On','Off',',',4);
Resultaat:
+--------------------------------+ | EXPORT_SET(9,'On','Off',',',4) | +--------------------------------+ | On,Off,Off,On | +--------------------------------+
Om dit resultaat te begrijpen, moeten we begrijpen hoe het getal 9
wordt weergegeven in bits. Om dit te doen, kunnen we de BIN()
. gebruiken functie om de binaire weergave van het getal 9 uit te voeren.
SELECT BIN(9);
Resultaat:
+--------+ | BIN(9) | +--------+ | 1001 | +--------+
We kunnen dus zien dat de binaire representatie van 9 1001
. is . Elke 1
is een aan bit (het is ingesteld) en elke 0
is een uit bit (het is niet ingesteld).
Voorbeeld 2 – Wijzig het 2e en 3e argument
We kunnen het vorige voorbeeld nemen en het tweede en derde argument wijzigen.
SELECT EXPORT_SET(9,'Y','N',',',4);
Resultaat:
+-----------------------------+ | EXPORT_SET(9,'Y','N',',',4) | +-----------------------------+ | Y,N,N,Y | +-----------------------------+
Dus nu voor elke aan bit, we krijgen Y , en elke uit bit retourneert N .
We kunnen het zelfs zo veranderen dat enen en nullen worden geretourneerd:
SELECT EXPORT_SET(9,1,0,',',4);
Resultaat:
+-------------------------+ | EXPORT_SET(9,1,0,',',4) | +-------------------------+ | 1,0,0,1 | +-------------------------+
Voorbeeld 3 – Verander het 4e argument (het scheidingsteken)
In de voorgaande voorbeelden specificeren we expliciet een komma als scheidingsteken. Dit is ook de standaardwaarde.
We kunnen het scheidingsteken desgewenst in iets anders veranderen.
SELECT EXPORT_SET(9,1,0,'-',4);
Resultaat:
+-------------------------+ | EXPORT_SET(9,1,0,'-',4) | +-------------------------+ | 1-0-0-1 | +-------------------------+
En dit is wat er gebeurt als we de lege string specificeren als het scheidingsteken:
SELECT EXPORT_SET(9,1,0,'',4);
Resultaat:
+------------------------+ | EXPORT_SET(9,1,0,'',4) | +------------------------+ | 1001 | +------------------------+
Voorbeeld 4 – Verander het 5e argument
Het vijfde argument geeft aan hoeveel bits moeten worden onderzocht. In het vorige voorbeeld gebruikten we 4
als de waarde, dus slechts vier bits werden onderzocht (en geretourneerd). We kunnen dit naar wens verhogen of verlagen door een andere waarde op te geven als vierde argument.
SELECT EXPORT_SET(9,1,0,'-',10);
Resultaat:
+--------------------------+ | EXPORT_SET(9,1,0,'-',10) | +--------------------------+ | 1-0-0-1-0-0-0-0-0-0 | +--------------------------+
In dit voorbeeld hebben we het aantal onderzochte bits verhoogd tot 10.
Onthoud dat de bits van rechts naar links worden onderzocht, dus de extra nullen in dit voorbeeld zijn eigenlijk voor de hogere nullen. Het is dus in omgekeerde volgorde van de daadwerkelijke binaire representatie.
Hier is een voorbeeld om te laten zien wat ik bedoel:
SELECT BIN(567), EXPORT_SET(567,1,0,'',10);
Resultaat:
+------------+---------------------------+ | BIN(567) | EXPORT_SET(567,1,0,'',10) | +------------+---------------------------+ | 1000110111 | 1110110001 | +------------+---------------------------+
In dit geval zien ze eruit als spiegelbeelden. Kortom, het resultaat van EXPORT_SET()
is in omgekeerde volgorde van BIN()
.
De standaardwaarde voor het vijfde argument is 64, dus als we dit argument weglaten, wordt het aantal bits onderzocht.
SELECT EXPORT_SET(9,1,0,'-');
Resultaat:
+---------------------------------------------------------------------------------------------------------------------------------+ | 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 | +---------------------------------------------------------------------------------------------------------------------------------+
Dit wordt stil geknipt tot 64, dus als u een waarde opgeeft buiten dit bereik, wordt deze geknipt tot 64.
SELECT EXPORT_SET(9,1,0,'-',500);
Resultaat:
+---------------------------------------------------------------------------------------------------------------------------------+ | 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 | +---------------------------------------------------------------------------------------------------------------------------------+
Het is een geheel getal zonder teken, dus hetzelfde resultaat als je een negatieve waarde gebruikt:
SELECT EXPORT_SET(9,1,0,'-',-4);
Resultaat:
+---------------------------------------------------------------------------------------------------------------------------------+ | 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 | +---------------------------------------------------------------------------------------------------------------------------------+
Voorbeeld 5 – Standaardwaarden gebruiken
We kunnen de laatste twee argumenten weglaten om de standaardwaarden te gebruiken:
SELECT EXPORT_SET(9,'On','Off');
Resultaat:
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | On,Off,Off,On,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+