SQL 함수 숫자열(작성중)

인삼주·2023년 4월 24일
0

DB 모델링과 OracleSQL

목록 보기
10/16

SQL

LENGTH 문자열의 길이
LENGTHB 문자열의 바이트
(영문자숫자는 1바이트 / 한글은 3바이트)

SELECT LENGTH('SQL 프로젝트') "LENGTH",
	   LENGTHB('SQL 프로젝트') "LENGTHB"
FROM DUAL;

??? ABS(n) 절대값???
SIGN(n) 양수, 음수,0을 부분???

POWER(n,y) n의 y승 계산

SELECT POWER (3,2), POWER(2,10)
FROM DUAL;

SQRT(n) n의 제곱근

GREATEST, LEAST

SELECT GREATEST(10,20,30) "큰값",
		LEAST (10,20,30) "작은값"
FROM DUAL;

>> 결과: 큰값 30 / 작은값 10

SELECT GREATEST('강아지',256,'송아지') "큰값",
		LEAST ('강아지',256,'송아지') "작은값"
FROM DUAL;

>> 결과: 큰값 송아지 / 작은값 256

한글값은 아스키 값으로 바꿔서
첫자만 먼저 비교 '강'자와 '송'

SELECT ROUND(345.123,0) 결과
FROM DUAL;

SELECT ROUND(345.123,-1) 결과1,
        TRUNC(345.123,-2) 결과2
FROM DUAL;

SELECT (ROUND(MEM_MILEAGE/12,3))
FROM MEMBER;

SELECT MOD(10,3) FROM DUAL;

SELECT FLOOR(1332.69), CEIL(1332.69)
FROM DUAL;

SELECT FLOOR(-1332.69),CEIL(-1332.69)
FROM DUAL;

SELECT MOD(10,3), REMAINDER(10,3)
FROM DUAL;

SELECT MOD(10,3.7), REMAINDER(10,3.7)
FROM DUAL;

숫자 절사(버림함수구현)

SELECT ROUND(345.123 - 0.05,1) AS "RESULT1" -- 소수점 둘째자리 버림
        ,ROUND(345.123 - 0.5,0) AS "RESULT2" -- 소수점 첫째자리 버림
        ,ROUND(345.123- 5,-1) AS "RESULT3" --첫번째자리 버림
FROM DUAL;

SELECT ROUND (100/9 -5, -1) RESULT
FROM DUAL;

SELECT 10000/7 FROM DUAL;
SELECT FLOOR(10000/7*1000) / 1000 FROM DUAL;
SELECT FLOOR(10000/7*100) / 100 FROM DUAL;
SELECT FLOOR(10000/7*10) / 10 FROM DUAL;
SELECT FLOOR(10000/7) FROM DUAL;
SELECT FLOOR(10000/7*10) * 10 FROM DUAL;
SELECT FLOOR(10000/7*100) * 100 FROM DUAL;
SELECT FLOOR(10000/7*1000) * 1000 FROM DUAL;

0개의 댓글