MOD 함수
모듈로 연산이라고도 하는 두 숫자의 나머지를 반환합니다. 결과를 계산하려면 첫 번째 파라미터를 두 번째 파라미터로 나눕니다.
구문
MOD(number1, number2)
인수
- number1
-
첫 번째 입력 파라미터는
INTEGER
,SMALLINT
,BIGINT
또는DECIMAL
숫자입니다. 두 파라미터 중 하나가DECIMAL
형식이면 다른 파라미터도DECIMAL
형식이어야 합니다 둘 중 한 파라미터가INTEGER
형식이라면 나머지 파라미터는INTEGER
,SMALLINT
또는BIGINT
형식이 될 수 있습니다. 두 파라미터 모두SMALLINT
또는BIGINT
가 될 수 있지만 한 파라미터가BIGINT
라면 나머지 파라미터는SMALLINT
가 될 수 없습니다. - number2
-
두 번째 파라미터는
INTEGER
,SMALLINT
,BIGINT
, 또는DECIMAL
숫자입니다. number2에도 number1과 동일한 데이터 형식 규칙이 적용됩니다.
반환 타입
MOD 함수의 반환 형식은 두 입력 파라미터의 형식이 동일하다는 가정 하에 입력 파라미터와 동일한 숫자 형식입니다. 하지만 둘 중 한 파라미터가 INTEGER
이라면 반환 형식도 INTEGER
가 됩니다. 유효한 반환 형식은 DECIMAL
, INT
, SMALLINT
및 BIGINT
입니다.
사용 노트
%
를 모듈로 연산자로 사용할 수 있습니다.
예시
숫자를 다른 숫자로 나눌 때 나머지를 반환하려면 다음 예제를 사용합니다.
SELECT MOD(10, 4);
+-----+ | mod | +-----+ | 2 | +-----+
MOD 함수를 사용할 때 DECIMAL
결과를 반환하려면 다음 예제를 사용합니다.
SELECT MOD(10.5, 4);
+-----+ | mod | +-----+ | 2.5 | +-----+
MOD 함수를 실행하기 전에 숫자를 캐스팅하려면 다음 예제를 사용합니다. 자세한 내용은 CAST 함수 섹션을 참조하세요.
SELECT MOD(CAST(16.4 AS INTEGER), 5);
+-----+ | mod | +-----+ | 1 | +-----+
첫 번째 파라미터를 2로 나누어 짝수인지 확인하려면 다음 예제를 사용합니다.
SELECT mod(5,2) = 0 AS is_even;
+---------+ | is_even | +---------+ | false | +---------+
%를 모듈 연산자로 사용하려면 다음 예제를 사용합니다.
SELECT 11 % 4 as remainder;
+-----------+ | remainder | +-----------+ | 3 | +-----------+
다음 예제에서는 TICKIT 샘플 데이터베이스를 사용합니다. 자세한 내용은 샘플 데이터베이스 섹션을 참조하세요.
CATEGORY 테이블에서 홀수 카테고리에 대한 정보를 반환하려면 다음 예제를 사용합니다.
SELECT catid, catname FROM category WHERE MOD(catid,2)=1 ORDER BY 1,2;
+-------+-----------+ | catid | catname | +-------+-----------+ | 1 | MLB | | 3 | NFL | | 5 | MLS | | 7 | Plays | | 9 | Pop | | 11 | Classical | +-------+-----------+