>  기사  >  데이터 베이스  >  Mysql에서 오류 함수 Floor() 함수와 rand() 함수를 함께 사용하는 방법

Mysql에서 오류 함수 Floor() 함수와 rand() 함수를 함께 사용하는 방법

王林
王林앞으로
2023-05-26 22:59:081782검색

    1. 바닥 함수

    1.1 바닥 함수의 역할

    floor() 바닥() 함수의 역할은 값보다 작거나 같은 가장 큰 정수를 반환하는 것입니다

    예: 바닥을 선택하세요. (1.1) from qs_ad_category

    위 쿼리문 결과는 1입니다. 1.1보다 작은 가장 큰 정수는 1이므로 결과는 1

    Mysql에서 오류 함수 Floor() 함수와 rand() 함수를 함께 사용하는 방법

    참고: Floor() 함수의 제한 사항: mysql 5.0 이상

    2.rand() 함수

    2.1 rand( ) 함수의 역할

    rand() 함수의 역할: 임의의 부동 소수점 숫자(0보다 작은 소수)를 가져오고, rand(0)은 고정 소수점 값

    예: qs_ad_category에서 rand()를 선택하세요.

    결과는 임의의 부동 소수점 소수점입니다: 0.7450851357961866

    Mysql에서 오류 함수 Floor() 함수와 rand() 함수를 함께 사용하는 방법

    3 Floor() 함수는 rand() 함수와 협력합니다

    3.1 두 가지 조합 함수 사용

    rand() 함수는 1보다 작은 부동 소수점 숫자, 즉 0.7450851357961866을 얻으므로

    Floor() 함수는 괄호 안의 값을 더 작은 가장 가까운 정수로 내림합니다. 그것보다 크거나 같으면 결과를 표시합니다. 예를 들어 위 rand()의 결과는 0.7450851357961866이고 최대 정수는 "0"이므로 다음과 같습니다.

    qs_ad_category에서 Floor(rand(0))를 선택합니다. 결과 값은 "0"입니다.

    rand()*2인 경우 rand() 결과는 1보다 클 수 있습니다. 그런 다음 Floor() 함수와 결합하면 최종 값은 1

    select count(*),concat(user(),floor(rand(0)*2))x from information_schema.tables

    4가 될 수 있습니다. function

    4.1 오류 주입의 구성 요소

    floor() 정확하게 말하면 오류 주입은 Floor, Count, Group by 충돌이어야 합니다. error, count(*), rand(), Group by는 필수입니다

    4.2 오류 주입의 구성 요소 분석 오류 주입

    count() 함수: 계산 함수, 데이터의 합계를 계산하는 데 사용되는 함수입니다. 이 함수에는 결과 집합이 하나만 있습니다.

    floor() 함수 + rand() 함수: 0 또는 1의 정수 값 가져오기

    함수별 그룹화: 데이터를 그룹화할 때 먼저 가상 테이블에 값이 있는지 확인하고 없으면 삽입합니다. 존재하는 경우, group by 사용 시 count() + 1, Floor(rand(0)2)가 한 번 실행됩니다. 가상 테이블에 레코드가 없으면 가상 테이블에 삽입할 때 다시 실행됩니다.

    4.3 오류 주입

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

    위 내용은 Mysql에서 오류 함수 Floor() 함수와 rand() 함수를 함께 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제