단일행 함수 - 숫자 함수

양혜정·2024년 2월 23일

Oracle

목록 보기
6/49

★ 단일행 함수의 종류 ★

  1. 문자 함수
  2. 숫자 함수
  3. 날짜 함수
  4. 변환 함수
  5. 기타 함수

2. 숫자 함수

  1. mod(숫자1, 숫자2)
    숫자1을 숫자2로 나누었을 때의 나머지를 나타낸다.

  2. round(숫자1, 숫자2)
    숫자1을 숫자2에 따라 반올림해준다.

  3. trunc(숫자1, 숫자2)
    숫자1을 숫자2에 따라 절삭해준다.
    -> 반올림 X, 무조건 짜르기

select 5/2, mod(5,2)
	, round(987.65,1), round(987.65,0), round(987.65,-1)
    , trunc(987.65,1), trunc(987.65,0), trunc(987.65,-1) 
from dual;
-- 결과
-- 5/2 = 2.5(sql) | 5/2 = 2(java)
-- mod(5/2) = 1 -- 5/2 의 나머지
/*
	숫자2의 값에 따른 변동
    - 1 일 경우 소수 첫째자리까지 나타낸다.
    - 0 일 경우 정수 1자리까지 나타낸다.
 	- -1 일 경우 정수 10자리까지만 나타낸다.   
*/
-- round(987.65,1), round(987.65,0), round(987.65,-1)
-- 		987.7		|	988			|	990
-- 5부터 올림

-- trunc(987.65,1), trunc(987.65,0), trunc(987.65,-1)
-- 		987.6		|	987			|	980

  1. power(숫자1, 숫자2)
    숫자1을 숫자2만큼 거듭제곱

  2. sqrt(숫자)
    숫자의 제곱근

  3. sin(숫자), cos(숫자), tan(숫자), asin(숫자), acos(숫자), atan(숫자)

직각삼각형인 경우 -> 밑변 a, 높이 b, 빗변 c
▷ 삼각함수
-> sin = b/c , cos = a/c , tan b/a
->원의 각도 구하기 : cos θ = a/c
▷ 역삼각함수
-> asin, acos, atan 를 통해 각도 알아보기
-> 원의 각도 구하기
asinθ = c/sin, acosθ = cos/c, atanθ = sin/cos


  1. log(숫자1, 숫자2)
    log_숫자1 숫자2
log(10,100) = 2	-- 10^2 이 100 이기 때문이다.
  1. sign(연산)
  • 결과값이 양수라면 1
  • 결과값이 0 이라면 0
  • 결과값이 음수라면 -1

  1. ceil
  • ceil(실수) => 입력되어진 실수보다 큰 최소의 정수
  • ceil(정수) => 입력되어진 정수 그대로 표출
  1. floor
  • floor(실수) => 입력되어진 실수보다 작은 최대의 정수
  • floor(정수) => 입력되어진 정수 그대로 표출
select ceil(1.1), ceil(1), ceil(-1.1)
	, floor(1.1), floor(1), floor(-1.1)
from dual;
-- 결과
-- ceil(1.1), ceil(1), ceil(-1.1)
-- 		2	|	1	 |	   -1
-- floor(1.1), floor(1), floor(-1.1)
-- 		1	|	  1    |	-2

-- ceil => up(무조건 올림 정수까지)
-- floor => down(무조건 내림 정수까지)

  1. ascii('문자')
    문자 -> char 타입 숫자

  2. chr(숫자)
    숫자 -> ascii 타입

Ascii	|	A	|	a	|	0	|	' ' (공백)
Char	|	65	|	97	|	48	|	32

참고

ascii, chr : https://velog.io/@jjoung-2j/%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%B2%98%EB%A6%AC-Order-by-%EC%97%B0%EC%82%B0%EC%9E%90-%ED%98%84%EC%9E%AC%EC%8B%9C%EA%B0%81-%ED%85%8C%EC%9D%B4%EB%B8%94-%EB%A7%8C%EB%93%A4%EA%B8%B0


정리

-> local_hr에서작업한것

0개의 댓글