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()-Funktion
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
Weil 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
Nach dem Login kopieren
#🎜 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
Nach dem Login kopieren
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!