MySQL에서 연도 자릿수의 합 구하기
MySQL에서 연도를 구성하는 각 자릿수의 합을 계산하려면, 먼저 마지막 자릿수를 추출한 뒤 그 값을 더하는 방식을 사용합니다. 이 과정을 반복하면 연도의 모든 자릿수를 더할 수 있습니다. 예를 들어 2020년의 경우 다음과 같이 계산됩니다.
2 + 0 + 2 + 0
= 4
마지막 자릿수 추출하기
연도에서 마지막 자릿수를 추출하는 개념은 나머지 연산자(%)를 활용하는 것입니다. 다음 쿼리를 사용하면 됩니다.
select floor(@yourVariableName % 10);
연도 자릿수의 합을 구하는 쿼리
FLOOR 함수와 나머지 연산자를 조합하면 천의 자리, 백의 자리, 십의 자리, 일의 자리 숫자를 차례로 추출하여 모두 더할 수 있습니다. 연도 자릿수의 합을 구하는 전체 쿼리는 다음과 같습니다.
mysql> set @year_column_value = 2020;
Query OK, 0 rows affected (0.00 sec)
mysql> select
-> floor(@year_column_value / 1000)
-> + floor(@year_column_value % 1000 / 100)
-> + floor(@year_column_value % 100 / 10)
-> + floor(@year_column_value % 10) AS SUM_OF_DIGITS_OF_YEAR;
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
+-----------------------+
| SUM_OF_DIGITS_OF_YEAR |
+-----------------------+
| 4 |
+-----------------------+
1 row in set (0.00 sec)
이처럼 변수에 저장된 연도 값을 자릿수 단위로 분해하고 각각을 더하면, 별도의 복잡한 로직 없이도 연도 전체 자릿수의 합을 손쉽게 계산할 수 있습니다. 이 방식은 4자리 연도뿐 아니라 다른 숫자 값의 자릿수 합계를 구할 때도 동일하게 응용할 수 있습니다.