답변:
SQL에서 %는 두 가지 다른 형식으로 사용될 수 있습니다. 문자열로 사용되는 경우 LIKE
와일드 카드입니다. 예를 들면 다음과 같습니다.
WHERE col_name like '%test%'
그것은 col_name
"test"라는 단어가 들어 있는 모든 것을 찾는 것을 의미 합니다.
그러나이 특정 연산에서 % 기호는 모듈로 연산자로 사용됩니다. 모듈로 (일반적으로 MOD버튼 으로 표시된 계산기 )는 나머지를 반환합니다. for 루프를 사용하여 데이터를 표시하고 열을 계산하려는 경우 매우 유용한 도구가 될 수 있습니다. 최근 웹 페이지를 그릴 때 모듈러스 연산자를 사용했습니다. 광산은 PHP에 있었지만 다음은 예입니다.
$count = 0 ;
$records = array () ;
for ( $a = 0 ; $a < 100 ; $a++ )
$records[$a] = $a ;
foreach ( $records as $record )
{
if ( $count % 3 == 0 )
echo '<p>Three items</p>' ;
if ( $count % 10 == 0 )
echo '<p>Ten items</p>' ;
echo '<p>'.$record.'</p>' ;
$count++ ;
}
기본적으로 1-100을 출력하고 3 개의 항목마다 "3 개의 항목"을 출력하고 10 개의 항목마다 "10 개의 항목"을 출력합니다. 다른 숫자는 다음과 같은 값을 반환하기 때문입니다.
5 / 10 = 0.5 (5 % 10 = 5)
2 / 3 = 0.666... (2 % 3 = 2)
50 / 10 = 5.0 (50 % 10 = 0)
9 / 3 = 3.0 (9 % 3 = 0)
select 5 / 10 ;
줄 것이다 0
, SQL에없는0.5
다른 답변은 맞습니다. 나머지 나누기를 반환하는 것은 모듈로 연산자입니다.
그러나 왜 관련 작업인지 왜 유용한 지 추가하는 것이 도움이 될 수 있다고 생각합니다.
는 X % 2
숫자가 짝수 또는 홀수 인 경우는 반환하기 때문에 가장 많이 사용되는 것입니다.
짝수로 모든 열을 선택한다고 상상해보십시오.
SELECT * FROM table WHERE column % 2 = 0
홀수의 열을 모두 선택하려면 다음을 수행하십시오.
SELECT * FROM table WHERE column % 2 = 1
다른 유스 케이스가 발생할 수 있습니다 (예 : 단위로 모든 열을 필터링하려는 경우).이 값을 사용하여 단위가 0 인 모든 숫자를 얻을 수 있습니다.
SELECT * FROM table WHERE column % 10 = 0