์ƒˆ์†Œ์‹

IT & Security/DB

[ Oracle DB ] ํ•จ์ˆ˜ | ๋‚ด์žฅํ•จ์ˆ˜ | ์ง‘๊ณ„ํ•จ์ˆ˜ | ๋‹จ์ผํ–‰ ํ•จ์ˆ˜ | ๋ณ€ํ™˜ํ•จ์ˆ˜ | ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜

  • -
๋ฐ˜์‘ํ˜•
ํ•จ์ˆ˜ (function)

1. ๋‚ด์žฅํ•จ์ˆ˜(=sqlํ•จ์ˆ˜)

   1)์ง‘๊ณ„ํ•จ์ˆ˜(=๋ณต์ˆ˜ํ–‰ํ•จ์ˆ˜) ->sum,avg,๋งฅ์‹œ๋ฉˆ,๋ฏธ๋‹ˆ๋ฉˆ. ...๋“ฑ..

 

   2)๋‹จ์ผํ–‰ ํ•จ์ˆ˜

 

        -๋ฌธ์žํ˜•(char, varchar2)ํ•จ์ˆ˜

            :upper,lower,length,concat,substr, lpad, rpad, lterim,rtrim

 

        - ์ˆซ์žํ˜•(number)ํ•จ์ˆ˜

 

        - ๋‚ ์งœํ˜•(date)ํ•จ์ˆ˜

            :sysdate

 

        -๋ณ€ํ™˜ํ•จ์ˆ˜

            to_date             to_number
๋‚ ์งœ   <------     ๋ฌธ์ž    -------> ์ˆซ์ž
           ------->               <------- 
           to_char             to_char

* ๋ชฉ์ ์ด ๋˜๋Š” ์ชฝ์— ํƒ€์ž…์„ ์ ์œผ๋ฉด ๋œ๋‹ค.

 

        - null ํ•จ์ˆ˜

          : ์•Œ๋ ค์ง€์ง€ ์•Š๊ฑฐ๋‚˜ ๋ˆ„๋ฝ๋˜์—ˆ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ==> ์ •ํ™•ํ•˜๊ฒŒ ํ•ด์•ผํ•œ๋‹ค. ๋ฐ์ดํ„ฐ์—์„œ ๋„๊ฐ’์ด ์žˆ์œผ๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฝ๋‹ค.

 

        -decodeํ•จ์ˆ˜, case๋ฌธ

          :์ ˆ์ฐจ์  x ์ง‘ํ•ฉ์  ์‚ฌ๊ณ  , oracle advanced ๊ธฐ๋Šฅ 

 

 

2.์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜

 

๋ฌธ์žํ˜• ํ•จ์ˆ˜
show user
desc user_objects
select object_name, object_type
from user_objects;
desc user_tables
select table_name, tablespace_name
from user_tables;
desc user_constraints
select owner, constraint_name, 
constraint_type,table_name,search_condition,r_constraint_name
from user_constraints;

alter table emp --table name
add constraint pk_emp_empno primary key(empno); --ํ”„๋ผ์ด๋จธ๋ฆฌํ‚ค๋ฅผ ์ถ”๊ฐ€ ํ•˜๋Š” ๊ฒƒ
alter table dept --table name
add constraint pk_dept_deptno primary key(deptno); --ํ”„๋ผ์ด๋จธ๋ฆฌํ‚ค๋ฅผ ์ถ”๊ฐ€ ํ•˜๋Š” ๊ฒƒ

alter table emp
add constraint fk_emp_deptno
foreign key(deptno) references dept(deptno); --์ฐธ์กฐ

desc user_tab_columns 
select table_name, column_name, data_type
from user_tab_columns
order by 1 asc,2 desc; --position number
--
desc user_cons_columns
select constraint_name, table_name, column_name
from user_cons_columns;


desc user_objects
select object_name,object_type
from user_objects;
select table_name
from user_tables;

show recyclebin --sql+๋ช…๋ น์–ด
purge recyclebin; -- ํœด์ง€ํ†ต:์˜๊ตฌ์ ์œผ๋กœ ๋ฒ„๋ฆฐ๋‹ค๋Š” ๊ฒƒ.sql๋ช…๋ น์–ด

select owner, constraint_name, 
constraint_type,table_name,search_condition,r_constraint_name
from user_constraints;

select constraint_name, table_name,column_name
from user_cons_columns;

select b.constraint_name, b.table_name, b.column_name,
    a.constraint_type
from user_constraints a join user_cons_columns b --table๋ช… ์‚ฌ์ด์‚ฌ์ด๋ฅผ ๋‹ค join๊ฑธ์–ด์คŒ.(defult = ๋‚ด๋ถ€์กฐ์ธ, ์•„์›ƒํ„ฐ ์กฐ์ธ๋„ ํ•  ์ˆ˜ ์žˆ์Œ)
    on a.constraint_name=b.constraint_name --join ํ•œ ๋’ค ๋ธŒ๋ฆฟ์ง€ ๋˜๋Š” ์• , ์ฆ‰ ์ปจ์ŠคํŠธ๋ ˆ์ดํŠธ ๋„ค์ž„์ด ์ฃผ๊ฐ€ ๋˜๋Š” ๊ฒƒ. ํ…Œ์ด๋ธ” ์ด๋ฆ„์„ ์•ž์— ์จ์ฃผ์–ด์•ผ ์—๋Ÿฌ๊ฐ€ ์•ˆ๋‚˜๊ธฐ ๋•Œ๋ฌธ์— a,b๋กœ ๊ฐ„๋‹จํžˆ ํ‘œ์‹œํ•ด์ฃผ๋Š” ๊ฒƒ.
    
order by 2,3;    

select *
from emp;
desc emp
select * from dept;
select * from bonus;
select * from salgrade;

select upper('abc') from dual; --๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๋€œ
select length('abc') from dual;

select concat('abc','defg') from dual;
select 'abc'||'defg' from dual; --concat๊ณผ ๋™์ผํ•œ ํ˜•ํƒœ

select substr('abcedf',2,3) from dual;

select lpad('abcdef',10,'-') from dual; --padding๊ฐ™์€ ๋Š๋‚Œ(default๊ณต๋ฐฑ์œผ๋กœ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์ด ์ฑ„์›Œ์ง, 3๋ฒˆ์งธ ์ธ์ž๋กœ ์ง€์ •ํ•ด ์ค„ ์ˆ˜๋„ ์žˆ์Œ.)
--๊ฒฐ๊ตญ ์˜ค๋ฅธ์ชฝ ์ •๋ ฌ์ž„
select rpad('abcdef',10) from dual; --padding๊ฐ™์€ ๋Š๋‚Œ(default๊ณต๋ฐฑ์œผ๋กœ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์ด ์ฑ„์›Œ์ง, 3๋ฒˆ์งธ ์ธ์ž๋กœ ์ง€์ •ํ•ด ์ค„ ์ˆ˜๋„ ์žˆ์Œ.)
--๊ฒฐ๊ตญ ์™ผ์ชฝ ์ •๋ ฌ์ž„
--์ค„์ผ ๋•Œ ์ฆ‰ ์งœ๋ฅผ ๋•Œ๋Š” ๋’ค์—์„œ๋ถ€ํ„ฐ ์—†์• ๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋กœ ์ถ”์ฒœํ•˜์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•.

select length(rtrim('abcd       ')) from dual;
select ltrim('   accc') from dual;


select ename,sal 
from emp 
where upper(ename)='SMITH';

select empno,lpad(ename,10),'$'||rpad(sal,10) from emp 



--๋ณ€ํ™˜ํ•จ์ˆ˜ 
select sysdate from dual;
select to_char(sysdate,'mon') from dual; --mm, dd, dayํ•˜๋ฉด ์›”,์ผ,์š”์ผ ๋‚˜์˜ด.
--mm = 03๋‚˜์˜ค๊ณ , mon = 3์›”์ด๋ผ๊ณ  ๋‚˜์˜ด.

--์•„๋ž˜ ์˜ˆ์ œ์—์„œ '' ์•ˆ์— ๋“ค์–ด์žˆ๋Š” ๋‚ ์งœ๋Š” => ๋ฌธ์žํ˜•์ž„
select to_char(to_date('80/12/24','rr/mm/dd'),'yyyy') from dual; --rr์€ ๋””ํดํŠธ , 50๋…„๋ณด๋‹ค ๋‚ฎ์œผ๋ฉด 2000๋…„๋Œ€ ์ด์ƒ์ด๋ฉด 1900๋…„๋Œ€๋กœ ์ธ์‹
select to_char(to_date('80/12/24','yy/mm/dd'),'yyyy') from dual; --๊ฒฐ๊ณผ 2080,yy๋Š” 2000๋…„๋Œ€๋กœ ๋ฌด์กฐ๊ฑด ์ธ์‹.


select to_char(to_date('10/3/21','yy/mm/dd'),'yy-mon-dd') from dual;
select to_char(sysdate,'dd-mon-yy') from dual;

select ename,hiredate,to_char(hiredate,'day')as "์š”์ผ" from emp where to_char(hiredate,'day')='์ˆ˜์š”์ผ'or  to_char(hiredate,'day')='๊ธˆ์š”์ผ';
-- as ๋Š” ์š”์ผ์ด๋ผ๋Š” ์ปฌ๋Ÿผ ๋ช…์„ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ๊ฒƒ.
-- where to_char(hiredate,'day') in ('์ˆ˜์š”์ผ','๊ธˆ์š”์ผ');

์ด ์˜ˆ์ œ ์ฝ”๋“œ์ด๋‹ˆ,  ํ•œ ์ค„์”ฉ ์‹คํ–‰ํ•ด๋ณด๋ฉฐ ์‹ค์Šตํ•ด๋ณด๋„๋ก ํ•˜์ž.

Oracle SQL Developer๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™•์ธํ•ด๋ณด๋ฉด ํ›จ์”ฌ ๋ˆˆ์— ์ž˜ ๋“ค์–ด์˜ค๋‹ˆ ์‹ค์Šตํ•ด๋ณด๊ธธ ๋ฐ”๋ž€๋‹ค.

 

 

++ ์ด ์ฝ”๋“œ

 

์•„๋ž˜๋Š” sys_user.sql์ด๋ฉฐ ๋ฐ”๋กœ ์œ„์˜ ๊ธด ๋ฌธ์žํ˜• ํ•จ์ˆ˜ ์ฝ”๋“œ๊ฐ€ scott_user.sql ์ฝ”๋“œ์ด๋‹ค.

demo_scott.sql ํŒŒ์ผ์€ lucete1230-cyberpolice.tistory.com/431?category=0  ์ด ์‚ฌ์ดํŠธ์— ๊ธฐ์žฌ๋˜์–ด ์žˆ๋‹ค.

select sysdate
from dual;

show user
show parameter nls

alter session set nls_date_format=
'yyyy/mm/dd hh:mi:ss';

desc dba_users
select username,password, account_status
from dba_users 
where username in ('SCOTT','HR');
alter user scott identified by tiger
account unlock;
conn scott/tiger
show user
desc v$instance
select instance_name, host_name, status
from v$instance;

nevertrustbrutus.tistory.com/370

 

[ Oracle DB ] ๋ฌธ์žํ˜• ํ•จ์ˆ˜ (upper, lower, length, concat, lpad, rpad, ltrim, rtrim)

- ๋ฌธ์žํ˜• ํ•จ์ˆ˜ ์ €๋ฒˆ ๊ธ€์—์„œ ๋‚ด์žฅ ํ•จ์ˆ˜๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค. ๊ทธ์ค‘์—์„œ๋„ ๋ฌธ์žํ˜• ํ•จ์ˆ˜ ๋ช‡ ๊ฐœ๋ฅผ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์‹ค์Šต์„ ์œ„ํ•ด ์‚ฌ์šฉํ•œ ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ์™€ ๊ฐ’์ž…๋‹ˆ๋‹ค. ๋ณธ ํฌ์ŠคํŒ…์€

nevertrustbrutus.tistory.com

๋ฌธ์žํ˜• ํ•จ์ˆ˜์™€ ๊ด€๋ จ๋œ ์˜ˆ์ œ๋ฅผ ๋ณด๊ณ ์‹ถ๋‹ค๋ฉด ์œ„ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.

 

๋ฐ˜์‘ํ˜•
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.