Heim  >  Artikel  >  Datenbank  >  So verwenden Sie die Fehlerfunktion „floor()“ und „rand()“ zusammen in MySQL

So verwenden Sie die Fehlerfunktion „floor()“ und „rand()“ zusammen in MySQL

王林
王林nach vorne
2023-05-26 22:59:081833Durchsuche

    1. Bodenfunktion

    1.1 Die Rolle der Bodenfunktion

    floor()-Funktion Die Funktion besteht darin, die größte Ganzzahl zurückzugeben, die kleiner oder gleich dem Wert ist die maximale Ganzzahl ist kleiner als 1,1 ist 1, also ist das Ergebnis 1

    Hinweis: Einschränkungen der Funktion floor(): MySQL 5.0 und höher # 🎜🎜#

    2 . rand()-FunktionSo verwenden Sie die Fehlerfunktion „floor()“ und „rand()“ zusammen in MySQL

    2.1 Die Rolle der rand()-Funktion

    rand()-Funktion: Erhalten Sie eine zufällige Gleitkommazahl (a Dezimalzahl kleiner als 0) und rand( 0) soll einen festen Dezimalwert erhalten

    Beispiel: select rand() from qs_ad_category;

    Das Ergebnis ist ein zufälliger Gleitkommawert Dezimalzahl: 0,7450851357961866

    # 🎜🎜#

    3. Die Funktion floor() arbeitet mit der Funktion rand() zusammen

    3.1 Die Verwendung von zwei kombinierte Funktionen

    So verwenden Sie die Fehlerfunktion „floor()“ und „rand()“ zusammen in MySQLWeil die Funktion rand() eine Gleitkommazahl kleiner als 1 erhält, also beispielsweise 0,7450851357961866

    Die Funktion Floor() rundet den Wert innerhalb ab setzt Klammern auf die nächste Ganzzahl, die im obigen Ergebnis kleiner oder gleich ist, und zeigt das Ergebnis an. Das Ergebnis des obigen rand() ist beispielsweise 0,7450851357961866, dann ist die maximale Ganzzahl „0“, also:

    select floor(rand(0)) from qs_ad_category Der Ergebniswert ist „0“ .

    Wenn es rand()*2 ist, kann das rand()-Ergebnis größer als 1 sein, dann kann in Kombination mit der Funktion floor() der Endwert 1

    select count(*),concat(user(),floor(rand(0)*2))x from information_schema.tables
    #🎜 sein 🎜#4. Bei der Floor()-Funktion handelt es sich um die Hauptfehlerinjektion

    4.1 Komponenten der Fehlerinjektion

    floor() Die Fehlerinjektion sollte eine genaue Etage, Anzahl und Gruppierung nach Konflikt sein Fehler, Anzahl (*), Rand () und Gruppieren nach sind unverzichtbar Die Summenfunktion hat nur eine Ergebnismenge.

    floor()-Funktion + rand()-Funktion: Ermitteln Sie den ganzzahligen Wert von 0 oder 1

    Gruppe nach Funktion: Beim Gruppieren von Daten wird zunächst überprüft, ob die virtuelle Tabelle vorhanden ist Wenn dieser Wert vorhanden ist, wird er eingefügt, wenn er nicht vorhanden ist. Wenn er vorhanden ist, wird count() um 1 erhöht. Bei Verwendung von „group by“ wird „floor(rand(0)2)“ einmal ausgeführt nicht in der virtuellen Tabelle vorhanden, wird es beim Einfügen in die virtuelle Tabelle erneut ausgeführt.

    4.3 Fehlerinjektion anzeigen

    使用报错获取当前用户信息
    select count(*),concat(user(),floor(rand(0)*2))x from information_schema.tables group by x

    Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Fehlerfunktion „floor()“ und „rand()“ zusammen in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen