Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

첫 번째 인수의 숫자보다 인수 목록에 더 큰 숫자가 없으면 MySQL INTERVAL() 함수는 무엇을 반환할까?

MySQL의 INTERVAL() 함수에서 첫 번째 인수로 주어진 숫자보다 큰 숫자가 인수 목록에 존재하지 않는 경우, 함수는 목록에 있는 마지막 숫자의 인덱스 번호에 1을 더한 값을 반환합니다.

다시 말해, 첫 번째 인수가 나머지 모든 인수보다 크거나 같으면, 함수는 첫 번째 인수를 제외한 나머지 인수들의 개수를 반환하게 됩니다.

예제

다음 예제를 통해 이 동작을 직접 확인할 수 있습니다.

mysql> Select INTERVAL(50,20,32,38,40);
+--------------------------+
| INTERVAL(50,20,32,38,40) |
+--------------------------+
| 4                        |
+--------------------------+
1 row in set (0.00 sec)

결과 분석

위 예제에서 첫 번째 인수는 50이고, 비교 대상인 인수 목록은 20, 32, 38, 40입니다. 50은 목록의 어떤 숫자보다도 크기 때문에, 함수는 마지막 인수(40)의 인덱스 번호 3에 1을 더한 값인 4를 반환합니다.

참고로 INTERVAL() 함수의 인덱스는 0부터 시작하며, 일반적으로 이 함수는 첫 번째 인수보다 작거나 같은 마지막 인수의 위치를 찾는 데 사용됩니다. 따라서 첫 번째 인수가 가장 클 때는 항상 '마지막 인덱스 + 1', 즉 비교 대상 인수의 총 개수가 결과로 나오게 됩니다.