sql >> Database teknologi >  >> RDS >> Mysql

Sådan fungerer funktionen EXPORT_SET() i MySQL

 MySQL EXPORT_SET() funktion returnerer en streng, der repræsenterer bits i et tal.

Du har mulighed for at tilpasse, hvordan funktionen udsender strengen. Funktionen accepterer en række argumenter, der tillader dig at gøre dette. Når du kalder funktionen, oplyser du det pågældende nummer, samt argumenter, der bestemmer, hvordan resultaterne vises.

Syntaks

Syntaksen ser sådan ud:

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

Her er en forklaring på argumenterne:

bits
Dette er det nummer, som du gerne vil have resultaterne returneret for. For hver bit, der er indstillet i denne værdi, får du en on streng, og for hver bit, der ikke er angivet i værdien, får du en fra snor. Bittene undersøges fra højre mod venstre (fra lavordens til højordens bits).
Dette er, hvad der returneres for enhver bits.
fra
Dette er, hvad der returneres for enhver rabat bits.
separator
Dette er et valgfrit argument, som du kan bruge til at angive den separator, der skal bruges. Standardværdien er kommategnet. Derfor, hvis du ikke angiver dette argument, bruges et komma som separator.
antal_bits
Antallet af bits, der skal undersøges. Standardværdien er 64. Hvis du angiver en større værdi, klippes denne lydløst til 64, hvis den er større end 64.

Eksempel 1 – Grundlæggende brug

Her er et eksempel for at demonstrere den grundlæggende brug af denne funktion.

SELECT EXPORT_SET(9,'Til','Fra',',',4);

Resultat:

+--------------------------------+| EXPORT_SET(9,'Til','Fra',',',4) |+------------------------------------ --+| Til, Fra, Fra, Til |+--------------------------------+

For at forstå dette resultat, er vi nødt til at forstå, hvordan tallet 9 er repræsenteret i bits. For at gøre dette kan vi bruge BIN() funktion til at udlæse den binære repræsentation af tallet 9.

VÆLG BIN(9);

Resultat:

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

Så vi kan se, at den binære repræsentation af 9 er 1001 . Hver 1 er en on bit (det er indstillet) og hver 0 er fra bit (den er ikke indstillet).

Eksempel 2 – Skift andet og tredje argument

Vi kan tage det foregående eksempel og ændre det andet og tredje argument.

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

Resultat:

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

Så nu for hver lidt, får vi Y , og hver fra bit returnerer N .

Vi kunne endda ændre det, så etere og nuller returneres:

VÆLG EXPORT_SET(9,1,0,',',4);

Resultat:

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

Eksempel 3 – Skift det 4. argument (separatoren)

I de foregående eksempler har vi eksplicit angivet et komma som værende separator. Dette er også standardværdien.

Vi kan ændre separatoren til noget andet, hvis det kræves.

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

Resultat:

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

Og her er, hvad der sker, hvis vi angiver den tomme streng som separator:

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

Resultat:

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

Eksempel 4 – Skift det 5. argument

Det femte argument specificerer, hvor mange bits der skal undersøges. I det forrige eksempel brugte vi 4 som værdien, så kun fire bit blev undersøgt (og returneret). Vi kan øge eller mindske dette efter behov ved at angive en anden værdi som det fjerde argument.

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

Resultat:

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

I dette eksempel øgede vi antallet af undersøgte bits til 10.

Husk, at bits undersøges fra højre mod venstre, så de ekstra nuller i dette eksempel er faktisk for de høje ordens nuller. Så det er i omvendt rækkefølge af den faktiske binære repræsentation.

Her er et eksempel for at demonstrere, hvad jeg mener:

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

Resultat:

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

I dette tilfælde ligner de spejlbilleder. Grundlæggende er resultatet af EXPORT_SET() er i omvendt rækkefølge af BIN() .

Standardværdien for det femte argument er 64, så hvis vi udelader dette argument, er det, hvor mange bits der vil blive undersøgt.

VÆLG EXPORT_SET(9,1,0,'-');

Resultat:

+---------------------------------------------- -------------------------------------------------- ----------------------------------+| 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-0-0 |+------------------------ -------------------------------------------------- -------------------------------------------------- --------+

Dette klippes lydløst til 64, så hvis du angiver en værdi uden for dette interval, vil det blive klippet til 64.

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

Resultat:

+---------------------------------------------- -------------------------------------------------- ----------------------------------+| 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-0-0 |+------------------------ -------------------------------------------------- -------------------------------------------------- --------+

Det er et heltal uden fortegn, så samme resultat, hvis du bruger en negativ værdi:

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

Resultat:

+---------------------------------------------- -------------------------------------------------- ----------------------------------+| 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-0-0 |+------------------------ -------------------------------------------------- -------------------------------------------------- --------+

Eksempel 5 – Brug af standardværdier

Vi kan udelade de sidste to argumenter for at bruge standardværdierne:

SELECT EXPORT_SET(9,'Til','Fra');

Resultat:

+---------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----------+| Til, Fra, Fra, Til, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Fra, Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off |+--------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----------------------------------+

  1. Sådan fjerner du standardværdien af ​​kolonnen i MySQL

  2. Generering af postgresql brugeradgangskode

  3. Tilslutning af PHP på Linux til Microsoft Access på en Windows Share

  4. SQL INSERT INTO fra flere tabeller