Amazon Redshift는 2025년 11월 1일부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. Python UDF를 사용하려면 이 날짜 이전에 UDF를 생성하세요. 기존 Python UDF는 정상적으로 계속 작동합니다. 자세한 내용은 블로그 게시물
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 | +-------+-----------+