Oacle 상용 함수 와 조건
2014-04-06
1. select
##
SQL> select * from emp;
## ( ; )
SQL>select empo,ename,job from emp;
SQL>conn hr/hr
SQL> select object_name from user_objects where object_type ='TABLE';
OBJECT_NAME
--------------------------------------------------------------------------------
COUNTRIES
DEPARTMENTS
EMPLOYEES
JOBS
JOB_HISTORY
LOCATIONS
REGIONS
2.
// :=,>,<,>=,<=,!=/<>,between...and ,in ,like ,is null/not null
// :and or not
// :desc( ) asc( )
: , , A-Z, ASCII , ;
## department_id 10
SQL> select * from departments where department_id=10;
##OR
HR@orcl 09:04:03> select employee_id,job_id from employees where salary>5000 and job_id in ('SA_REP','AD_PRES');
HR@orcl 09:04:19> select employee_id,job_id from employees where salary>5000 and (job_id='SA_REP' OR job_id='AD_PRES');
##
HR@orcl 09:04:56> select first_name ||' '||last_name name,(12*salary) salaries from employees order by salaries;
HR@orcl 10:04:42> select concat(concat(first_name,' '),last_name) name,(12*salay) salaries from employees order by salaries;
##
HR@orcl 09:04:39> select job_id,first_name ||' '||last_name name,(12*salary) salaries from employees order by job_id,salaries;
## ASCII
HR@orcl 09:04:42> select ascii('A') from dual;
ASCII('A')
----------
65
HR@orcl 09:04:11> select ascii('a') from dual;
ASCII('A')
----------
97
##rowid
HR@orcl 09:04:16> select job_id,rowid from employees; --rowid
3.
##
HR@orcl 09:04:29> select * from user_role_privs;
USERNAME GRANTED_ROLE ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
HR CONNECT NO YES NO
HR RESOURCE NO YES NO
4.
##
HR@orcl 09:04:44> select upper('cc') from dual;
##
HR@orcl 09:04:19> select lower('D') from dual;
##
HR@orcl 09:04:46> select initcap('xiao') from dual;
##
HR@orcl 10:04:43> select substr('wangxiaoqian',3,4) from dual;
SUBS
----
ngxi
HR@orcl 10:04:23> select substr('wangxiaoqian',3) from dual;
SUBSTR('WA
----------
ngxiaoqian
##
HR@orcl 10:04:33> select length('wangxiaoqian') from dual;
LENGTH('WANGXIAOQIAN')
----------------------
12
##instr(c1,c2,[n1,n2])
c2 c1 ,c1 ,c2 ,n1 ,n2
HR@orcl 10:04:43> select instr('corporate','or',1,2) from dual;
INSTR('CORPORATE','OR',1,2)
---------------------------
5
--- n1,n2,
HR@orcl 10:04:58> select instr('corporate','or') from dual;
INSTR('CORPORATE','OR')
-----------------------
2
##lpad(c1,n[,c2]) n
n<c1, ;
HR@orcl 10:04:17> select lpad('hshjsjdjkd',5) from dual;
LPAD(
-----
hshjs
HR@orcl 10:04:36> select lpad('hshjsjdjkd',5,'*') from dual;
LPAD(
-----
hshjs
n>c1,c2 , n
HR@orcl 10:04:14> select lpad('h',5) from dual;
LPAD(
-----
h
n>c1,c2 , c2 c1 n
HR@orcl 10:04:45> select lpad('h',5,'*') from dual;
LPAD(
-----
****h
##rpad
HR@orcl 11:04:09> create table ssr(name varchar2(200));
HR@orcl 11:04:37> insert into ssr(name) values(lpad('shiwei',200,'ha'));
HR@orcl 11:04:06> insert into ssr(name) select rpad('ha',200,'s') from dual;
##trim([[leading|trailing|both]) trim_character from] trim_source)
leading: trim_character
trailing: trim_character
both: trim_character
HR@orcl 11:04:02> select trim(both 'w' from 'wanwianw') from dual;
TRIM(B
------
anwian
trim(trim_source): , trim_source
HR@orcl 11:04:04> select length(trim(' ha ')) from dual;
LENGTH(TRIM('HA'))
------------------
2
## BI/PM/IX/SH/OE
:
SELECT product_name, LTRIM(product_name, 'Monitor ') "Short Name" FROM products WHERE product_name LIKE 'Monitor%';
##replace(c,search_string[,replacement_string])
replace(c1,c2[,c3]): c1 c2 c3, c3 NULL, c1 c2
SQL> select replace(first_name,'teven','shiwei') from employees where first_name='Steven';
REPLACE(FIRST_NAME,'TEVEN','SHIWEI')
--------------------------------------------------------------------------------
Sshiwei
Sshiwei
SQL> select replace(first_name,'teven') from employees where first_name='Steven';
REPLACE(FIRST_NAME,'
--------------------
S
S
5.
##round(n1[,n2]):
OE@orcl 02:04:49> select round(23.56),round(23.35),round(12.45,1),round(12.55,1) from dual;
ROUND(23.56) ROUND(23.35) ROUND(12.45,1) ROUND(12.55,-1)
------------ ------------ -------------- ---------------
24 23 12.5 10
OE@orcl 02:04:00> select round(588,-2) from dual;
ROUND(588,-2)
-------------
600
##trunc(n1[,n2]): n2 n1 ,n2 0,n2 ,
OE@orcl 02:04:09> select trunc(56.67),trunc(56.67,1),trunc(56.67,-1),trunc(56.7,-2) from dual;
TRUNC(56.67) TRUNC(56.67,1) TRUNC(56.67,-1) TRUNC(56.67,-2)
------------ -------------- --------------- ---------------
56 56.6 50 0
##mod:
SQL> select mod(3,2),mod(8,4) from dual;
OE@orcl 02:04:42> select mod(11,4),mod(11,-4),mod(-11,4),mod(-11,-4) from dual;
MOD(11,4) MOD(11,-4) MOD(-11,4) MOD(-11,-4)
---------- ---------- ---------- -----------
3 3 -3 -3
6.
##add_months(d,n): N
OE@orcl 02:04:25> select add_months(sysdate,2) from dual;
SQL>select next_day(sysdate,'TUESDAY') from dual;
HR@orcl 14:04:06-03:16:12> select hire_date from employees where hire_date='23-MAY-06';
HR@orcl 14:04:06-03:16:13> select to_date('2014-04-06','yyyy-mm-dd') c_date from dual;
alter session set nls_date_format ="yyyy-mm-dd";
to_char()
to_date()
to_number()
to_timestamp()
7.
nvl(expr1,expr2) expr1 NULL, expr2; expr1 NULL, expr1;
SQL>select last_name,nvl(commission_pct,0) from employees where last_name like 'B%';
nvl2(c1,c2,c3) c1 null, c3, , c2.
HR@orcl 14:04:06-03:50:55> select last_name,nvl2(commission_pct,salary+salarycommission_pct,salary) nvl from employees where last_name like 'B%';
8.
1)case
##simple case
sql>select last_name,job_id,salary,case job_id when 'IT_PROG' then 1.10*salary
when 'ST_CLERK' then 1.15 * salary
when 'SA_REP' then 1.20 * salary
else salary end "tz_salary" from employees;
##search case
HR@orcl 14:04:06-04:24:19> select last_name,case when salary>3000 then salaryelse 3000 end "add_salary" from employees;
2)decode
##simple decode
select last_name,job_id,salary,decode(job_id,'IT_PORG',1.10*salary,'ST_CLERK',1.15*salary,'SA_REP',
1.2*salary,salary) "add_salary" from employees;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.