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

MySQL에서 POW()와 POWER(), 어떤 함수를 사용해야 할까?

MySQL에서 POW()POWER()는 이름만 다를 뿐 완전히 동일한 기능을 수행하는 동의어(synonym) 함수입니다. 두 함수 모두 첫 번째 인수를 두 번째 인수만큼 거듭제곱한 값을 반환합니다.

기본 문법

select pow(yourValue1, yourValue2);

OR

select power(yourValue1, yourValue2);

이제 몇 가지 예제를 통해 직접 확인해 보겠습니다.

POW() 사용 예제

mysql> select POW(4,3);

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

+----------+
| POW(4,3) |
+----------+
|       64 |
+----------+
1 row in set (0.00 sec)

POWER() 사용 예제

mysql> select POWER(4,3);

실행 결과는 다음과 같습니다.

+------------+
| POWER(4,3) |
+------------+
|         64 |
+------------+
1 row in set (0.00 sec)

두 함수가 정확히 같은 결과인 64를 반환하는 것을 확인할 수 있습니다. 이번에는 실제 테이블을 생성하고 데이터를 넣어 개념을 더 자세히 살펴보겠습니다.

테이블 생성 및 데이터 삽입

먼저 데모용 테이블을 만듭니다.

mysql> create table DemoTable
   (
   a int,
   n int
   );
Query OK, 0 rows affected (0.51 sec)

insert 명령을 사용해 테이블에 레코드를 삽입합니다.

mysql> insert into DemoTable values(10,3);
Query OK, 1 row affected (0.18 sec)

select 문으로 테이블의 모든 레코드를 조회합니다.

mysql> select *from DemoTable;

출력 결과는 다음과 같습니다.

+------+------+
| a    | n    |
+------+------+
| 10   | 3    |
+------+------+
1 row in set (0.00 sec)

테이블 데이터로 두 함수 비교하기

다음은 POW() 함수를 사용하는 쿼리입니다.

mysql> select POW(a,n) from DemoTable;

결과:

+----------+
| POW(a,n) |
+----------+
| 1000     |
+----------+
1 row in set (0.02 sec)

다음은 POWER() 함수를 사용하는 쿼리입니다.

mysql> select POWER(a,n) from DemoTable;

결과:

+------------+
| POWER(a,n) |
+------------+
| 1000       |
+------------+
1 row in set (0.00 sec)

결론

POW()POWER()는 결과 값이나 성능 면에서 전혀 차이가 없습니다. 어떤 함수를 선택할지는 순전히 개인적인 선호나 코드 스타일의 문제입니다. 다만 프로젝트 내에서는 하나로 통일해서 사용하는 것이 코드 가독성과 유지보수 측면에서 좋습니다.