SQL 함수 (숫자)

다음의 데이터로 MySQL에서 진행하였습니다.

data generate site 에서 데이터를 랜덤으로 생성하였습니다.

DROP TABLE `prod_sales`;

CREATE TABLE `prod_sales` (
  `id` mediumint(8) unsigned NOT NULL auto_increment,
  `total_sales` varchar(100) default NULL,
  `total_num` mediumint default NULL,
  `econ_income` mediumint default NULL,
  PRIMARY KEY (`id`)
) AUTO_INCREMENT=1;

INSERT INTO `prod_sales` (`total_sales`,`total_num`,`econ_income`) VALUES ("42.18",116,-262),("98.33",584,52),("58.45",61,-126),("4.90",292,-30),("25.01",382,-226),("64.03",155,141),("90.76",155,-100),("86.93",281,-217),("32.86",381,196),("81.31",221,52);

위의 쿼리문의 결과 테이블 prod_sales는 다음과 같이 생겼습니다.

Screen Shot 2021-09-10 at 2 15 04 PM

ROUND

소수점의 자릿수를 지정하여 반올림한다. ROUND(열이름, 반올림된 자리수)

  • 반올림된 자리수가 1이면 2번째자리를 반올림하여 최종적으로 소수점 이하 1자리만 있는 수를 출력합니다.

  • 반올림된 자리수가 3이면 4번째자리를 반올림하여 최종적으로 소수점 이하 3자리만 있는 수를 출력합니다.

SELECT total_sales, ROUND(total_sales, 1) FROM prod_sales;

Screen Shot 2021-09-10 at 2 24 31 PM

TRUNCATE

해당 소수점 자리에서 잘라낼 때 사용한다. TRUNCATE(열이름, 잘라낼 소수점 위치)

그냥 잘라낼 소수점 위치에 대해 버림을 합니다.

SELECT total_sales, TRUNCATE(total_sales, 1) FROM prod_sales;

Screen Shot 2021-09-10 at 2 29 59 PM

MOD(M, N)

M을 N으로 나눈 나머지를 출력합니다.

아래의 예는 total_num을 10으로 나눈 나머지를 출력하게 했습니다.

SELECT total_num, MOD(total_num, 10) FROM prod_sales;

Screen Shot 2021-09-10 at 2 33 54 PM

ABS

절대값을 출력합니다.

SELECT econ_income, ABS(econ_income) FROM prod_sales;

Screen Shot 2021-09-10 at 2 36 54 PM

SIGN

숫자가 양수면 1, 음수면 -1, 0이면 0을 나타낸다.

SELECT econ_income, SIGN(econ_income) FROM prod_sales;

Screen Shot 2021-09-10 at 2 38 32 PM

SQRT

제곱근을 나타낸다.

SELECT total_num, SQRT(total_num) FROM prod_sales;

Screen Shot 2021-09-10 at 2 39 49 PM

COS

지정한 각도의 COS값을 나타낸다. (라디안 기준입니다.)

SELECT total_num, COS(total_num) FROM prod_sales;

Screen Shot 2021-09-10 at 2 42 51 PM

Screen Shot 2021-09-10 at 2 46 25 PM

total_num의 유일한 두자리 수 61을 실제 계산해보았더니 값이 일치했습니다.

SIN

SELECT total_num, SIN(total_num) FROM prod_sales;

Screen Shot 2021-09-10 at 2 48 23 PM

PI

SELECT PI();

Screen Shot 2021-09-10 at 2 51 28 PM

TAN

SELECT total_num, TAN(total_num) FROM prod_sales;

Screen Shot 2021-09-10 at 2 52 18 PM