** 숫자와 관련하여 오라클이 미리 만들어 놓은 함수들.
abs(숫자[숫자가 있는 칼럼|숫자가있는 칼럼의 수식])
==> 음수이던지 양수이던지 절대값을 반환하는 함수
select abs(-78), abs(78) from dual;
SQL> select abs(-78), abs(78) from dual;
ABS(-78) ABS(78)
---------- ----------
78 78
round(실수값,소수점위치)
==> 실수값을 반올림하여 소수점위치까지 출력하는 함수입니다.
==> 소수점위치가 1이면 소수점 첫번째 자리까지 표시하라는 의미 입니다.
==> 소수점위치가 0이면 소수점 이하 표시하지 말고 정수만 출력하라는 의미입니다.(즉 일의자리까지 표시하라는 의미)
==> 소수점위치가 -1이면 일의자리에서 반올림해서 십의자리까지 표시하라는 의미입니다.
select round(4.875, 1) from dual;
ROUND(4.875,1)
--------------
4.9
select round(4.845, 1) from dual;
ROUND(4.845,1)
--------------
4.8
select round(4.845,0) from dual;
ROUND(4.845,0)
--------------
5
select round(6469,-1) from dual;
ROUND(6469,-1)
--------------
6470
select round(6469,-2) from dual;
ceil(실수값)
==> 무조건 올림수를 취한 정수를 반환합니다.
floor(실수값)
==> 무조건 버림수를 취한 정수를 반환합니다.
select round(56.4791, 0) from dual;
select ceil(56.4791) from dual;
SQL> select round(56.4791, 0) from dual;
ROUND(56.4791,0)
----------------
56
SQL> select ceil(56.4791) from dual;
CEIL(56.4791)
-------------
57
---------------------------------------------------------------------------------
select round(56.789, 0) from dual;
select floor(56.789) from dual;
SQL> select round(56.789, 0) from dual;
ROUND(56.789,0)
---------------
57
SQL> select floor(56.789) from dual;
FLOOR(56.789)
-------------
56
replace(문자열, 원래문자, 바꿀문자)
==> 문자열 데이터중에서 특정문자를 다른문자로 변경할 때 사용합니다.
ex) 도서제목에 야구가 포함된 도서를 농구로 변경한 후에 도서목록을 출력
select bookid, replace(bookname, '야구','농구') bookname, publisher, price
from book;
length(문자열) ==> 문자열의 길이를 반환
lengthb(문자열) ==> 문자열의 바이트길이를 반환
select length('김') from dual;
select length('a') from dual;
SQL> select length('김') from dual;
LENGTH('김')
------------
1
SQL> select length('a') from dual;
LENGTH('A')
-----------
1
select lengthb('김') from dual;
select lengthb('a') from dual;
SQL> select lengthb('김') from dual;
LENGTHB('김')
-------------
3
SQL> select lengthb('a') from dual;
LENGTHB('A')
------------
1
substr(문자열,시작위치,글자수)
===> 문자열데이터에서 시작위치에서 부터 글자수만큼 잘라옵니다.
select substr('hello oracle', 3,3) from dual;
select substr('hello oracle', 3,4) from dual;
select substr('hello oracle', 3,5) from dual;
instr(문자열,찾을문자)
==> 문자열안에서 찾을문자의 위치를 반환합니다.
select instr('hello oracle', 'r') from dual;
lower(문자열) ==> 문자열을 모두 소문자로 변환해 주는 함수
upper(문자열) ==> 문자열을 모두 대문자로 변환해 주는 함수
SQL> select lower('HELLO ORACLE') from dual;
LOWER('HELLOORACLE')
------------------------
hello oracle
SQL> select upper('Hello Korea') from dual;
UPPER('HELLOKOREA')
----------------------
HELLO KOREA
==> 영문데이터 인 경우
대.소문자 구별없이
판별해야 하는 경우라면
모두 대문자로 혹은 모두 소문자로 변환 한 후에 판별합니다.
ltrim(문자열) ==> 문자열데이터의 왼쪽에 있는 공백을 제거합니다.
rtrim(문자열) ==> 문자열데이터의 오른쪽에 있는 공백을 제거합니다.
trim(문자열) ==> 문자열데이터의 왼쪽과 오른쪽에 있는 공백을 제거합니다.
select '*' || ' hello ' || '*' from dual;
select '*' || ltrim(' hello ') || '*' from dual;
select '*' || rtrim(' hello ') || '*' from dual;
select '*' || trim(' hello ') || '*' from dual;
lpad(칼럼, 자릿수, 문자)
==> 컬럼의 값을 자릿수 만큼 잡아서 오른쪽 맞추어 출력하되 왼쪽 빈칸은 문자로 채워서 출력
select lpad('hello', 10, '@') from dual;
LPAD('HELLO',10,'@')
--------------------
@@@@@hello
rpad(칼럼, 자릿수, 문자)
==> 칼럼의 값을 자릿수 만큼 잡아서 왼쪽에 맞추어 출력하도 오른빈칸은 문자로 채워로 출력
select rpad('hello', 10, '*') from dual;
RPAD('HELLO',10,'*')
--------------------
hello*****
'프로그래밍 공부 정리 > database' 카테고리의 다른 글
rownum, 서브쿼리 (0) | 2021.11.25 |
---|---|
날짜 관련 함수, null 처리 (0) | 2021.11.24 |
DCL, DDL, DML (0) | 2021.11.22 |
제약(primary key, not null, unique,default,check) (0) | 2021.11.21 |
제약: 참조키 설정, 개체무결성, 참조무결성 (0) | 2021.11.20 |