floor() Le rôle de la fonction floor() est de renvoyer le plus grand entier inférieur ou égal à la valeur
Exemple : select floor (1.1) de qs_ad_category
L'instruction de requête ci-dessus Le résultat est 1. Puisque le plus grand entier inférieur à 1,1 est 1, le résultat est 1
Remarque : Limitations de la fonction floor() : mysql 5.0 et supérieur
Le rôle de la fonction rand() : Obtenez un nombre aléatoire à virgule flottante (une décimale inférieure à 0), tandis que rand(0) obtient un valeur décimale fixe
Exemple : sélectionnez rand() dans qs_ad_category ;
Le résultat est une décimale aléatoire à virgule flottante : 0,7450851357961866
Puisque la fonction rand() obtient un nombre à virgule flottante inférieur à 1, c'est-à-dire, par exemple, 0,7450851357961866
La fonction Floor() arrondit la valeur entre parenthèses à l'entier le plus proche qui est inférieur supérieur ou égal à celui-ci et affiche le résultat. Par exemple, le résultat de rand() ci-dessus est 0,7450851357961866, alors l'entier maximum est "0", donc :
select floor(rand(0)) from qs_ad_category La valeur du résultat est "0".
S'il s'agit de rand()*2, le résultat rand() peut être supérieur à 1. Ensuite, combiné avec la fonction floor(), la valeur finale peut être 1
select count(*),concat(user(),floor(rand(0)*2))x from information_schema.tables
floor() Pour être précis, l'injection d'erreur doit être floor, count, group by conflict error, count(*), rand(), group by sont indispensables
fonction count() : fonction de comptage, une fonction utilisée pour calculer la somme des données. Cette fonction n'a qu'un seul ensemble de résultats.
fonction floor() + fonction rand() : obtenez la valeur entière de 0 ou 1
fonction group by : lors du regroupement de données, elle vérifiera d'abord si la valeur existe dans la table virtuelle, et l'insérera si ce n'est pas le cas existe ; s'il existe, count () plus 1, floor(rand(0)2) sera exécuté une fois lors de l'utilisation de group by S'il n'y a aucun enregistrement dans la table virtuelle, il sera à nouveau exécuté lors de l'insertion dans la table virtuelle.
使用报错获取当前用户信息 select count(*),concat(user(),floor(rand(0)*2))x from information_schema.tables group by x
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!