MOD 함수 - Amazon Redshift

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, SMALLINTBIGINT입니다.

사용 노트

%를 모듈로 연산자로 사용할 수 있습니다.

숫자를 다른 숫자로 나눌 때 나머지를 반환하려면 다음 예제를 사용합니다.

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 | +-------+-----------+