ORACLE鏃ユ湡鏃墮棿鍑芥暟澶у叏
TO_DATE鏍煎紡(浠ユ椂闂?2007-11-02 13:45:25涓轟緥)
Year:
yy two digits 涓や綅騫?nbsp; 鏄劇ず鍊?07
yyy three digits 涓変綅騫?nbsp; 鏄劇ず鍊?007
yyyy four digits 鍥涗綅騫?nbsp; 鏄劇ず鍊?2007
Month:
mm number 涓や綅鏈?nbsp; 鏄劇ず鍊?11
mon abbreviated 瀛楃闆嗚〃紺?nbsp; 鏄劇ず鍊?11鏈?鑻ユ槸鑻辨枃鐗?鏄劇ずnov
month spelled out 瀛楃闆嗚〃紺?nbsp; 鏄劇ず鍊?11鏈?鑻ユ槸鑻辨枃鐗?鏄劇ずnovember
Day:
dd number 褰撴湀絎嚑澶?nbsp; 鏄劇ず鍊?02
ddd number 褰撳勾絎嚑澶?nbsp; 鏄劇ず鍊?02
dy abbreviated 褰撳懆絎嚑澶╃畝鍐?nbsp; 鏄劇ず鍊?鏄熸湡浜?鑻ユ槸鑻辨枃鐗?鏄劇ずfri
day spelled out 褰撳懆絎嚑澶╁叏鍐?nbsp; 鏄劇ず鍊?鏄熸湡浜?鑻ユ槸鑻辨枃鐗?鏄劇ずfriday
ddspth spelled out, ordinal twelfth
Hour:
hh two digits 12灝忔椂榪涘埗 鏄劇ず鍊?01
hh24 two digits 24灝忔椂榪涘埗 鏄劇ず鍊?13
Minute:
mi two digits 60榪涘埗 鏄劇ず鍊?45
Second:
ss two digits 60榪涘埗 鏄劇ず鍊?25
鍏跺畠
Q digit 瀛e害 鏄劇ず鍊?4
WW digit 褰撳勾絎嚑鍛?nbsp; 鏄劇ず鍊?44
W digit 褰撴湀絎嚑鍛?nbsp; 鏄劇ず鍊?1
24灝忔椂鏍煎紡涓嬫椂闂磋寖鍥翠負錛?0:00:00 - 23:59:59....
12灝忔椂鏍煎紡涓嬫椂闂磋寖鍥翠負錛?1:00:00 - 12:59:59 ....
1. 鏃ユ湡鍜屽瓧絎﹁漿鎹㈠嚱鏁扮敤娉曪紙to_date,to_char錛?br />
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //鏃ユ湡杞寲涓哄瓧絎︿覆
select to_char(sysdate,'yyyy') as nowYear from dual; //鑾峰彇鏃墮棿鐨勫勾
select to_char(sysdate,'mm') as nowMonth from dual; //鑾峰彇鏃墮棿鐨勬湀
select to_char(sysdate,'dd') as nowDay from dual; //鑾峰彇鏃墮棿鐨勬棩
select to_char(sysdate,'hh24') as nowHour from dual; //鑾峰彇鏃墮棿鐨勬椂
select to_char(sysdate,'mi') as nowMinute from dual; //鑾峰彇鏃墮棿鐨勫垎
select to_char(sysdate,'ss') as nowSecond from dual; //鑾峰彇鏃墮棿鐨勭
select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual//
2.
select to_char( to_date(222,'J'),'Jsp') from dual
鏄劇ずTwo Hundred Twenty-Two
3.姹傛煇澶╂槸鏄熸湡鍑?nbsp;
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;
鏄熸湡涓
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;
monday
璁劇疆鏃ユ湡璇█
ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';
涔熷彲浠ヨ繖鏍?nbsp;
TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')
4. 涓や釜鏃ユ湡闂寸殑澶╂暟
select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;
5. 鏃墮棿涓簄ull鐨勭敤娉?nbsp;
select id, active_date from table1
UNION
select 1, TO_DATE(null) from dual;
娉ㄦ剰瑕佺敤TO_DATE(null)
6.鏈堜喚宸?nbsp;
a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd')
閭d箞12鏈?1鍙蜂腑鍗?2鐐逛箣鍚庡拰12鏈?鍙風殑12鐐逛箣鍓嶆槸涓嶅寘鍚湪榪欎釜鑼冨洿涔嬪唴鐨勩?nbsp;
鎵浠ワ紝褰撴椂闂撮渶瑕佺簿紜殑鏃跺欙紝瑙夊緱to_char榪樻槸蹇呰鐨?nbsp;
7. 鏃ユ湡鏍煎紡鍐茬獊闂
杈撳叆鐨勬牸寮忚鐪嬩綘瀹夎鐨凮RACLE瀛楃闆嗙殑綾誨瀷, 姣斿: US7ASCII, date鏍煎紡鐨勭被鍨嬪氨鏄? '01-Jan-01'
alter system set NLS_DATE_LANGUAGE = American
alter session set NLS_DATE_LANGUAGE = American
鎴栬呭湪to_date涓啓
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;
娉ㄦ剰鎴戣繖鍙槸涓句簡NLS_DATE_LANGUAGE錛屽綋鐒惰繕鏈夊緢澶氾紝
鍙煡鐪?nbsp;
select * from nls_session_parameters
select * from V$NLS_PARAMETERS
8.
select count(*)
from ( select rownum-1 rnum
from all_objects
where rownum <= to_date('2002-02-28','yyyy-mm-dd') - to_date('2002-
02-01','yyyy-mm-dd')+1
)
where to_char( to_date('2002-02-01','yyyy-mm-dd')+rnum-1, 'D' )
not in ( '1', '7' )
鏌ユ壘2002-02-28鑷?002-02-01闂撮櫎鏄熸湡涓鍜屼竷鐨勫ぉ鏁?nbsp;
鍦ㄥ墠鍚庡垎鍒皟鐢―BMS_UTILITY.GET_TIME, 璁╁悗灝嗙粨鏋滅浉鍑?寰楀埌鐨勬槸1/100縐? 鑰屼笉鏄縐?.
9. 鏌ユ壘鏈堜喚
select months_between(to_date('01-31-1999','MM-DD-YYYY'),to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;
1
select months_between(to_date('02-01-1999','MM-DD-YYYY'),to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;
1.03225806451613
10. Next_day鐨勭敤娉?nbsp;
Next_day(date, day)
Monday-Sunday, for format code DAY
Mon-Sun, for format code DY
1-7, for format code D
11
select to_char(sysdate,'hh:mi:ss') TIME from all_objects
娉ㄦ剰錛氱涓鏉¤褰曠殑TIME 涓庢渶鍚庝竴琛屾槸涓鏍風殑
鍙互寤虹珛涓涓嚱鏁版潵澶勭悊榪欎釜闂
create or replace function sys_date return date is
begin
return sysdate;
end;
select to_char(sys_date,'hh:mi:ss') from all_objects;
12.鑾峰緱灝忔椂鏁?nbsp;
extract()鎵懼嚭鏃ユ湡鎴栭棿闅斿肩殑瀛楁鍊?br /> SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 2:38:40') from offer
SQL> select sysdate ,to_char(sysdate,'hh') from dual;
SYSDATE TO_CHAR(SYSDATE,'HH')
-------------------- ---------------------
2003-10-13 19:35:21 07
SQL> select sysdate ,to_char(sysdate,'hh24') from dual;
SYSDATE TO_CHAR(SYSDATE,'HH24')
-------------------- -----------------------
2003-10-13 19:35:21 19
13.騫存湀鏃ョ殑澶勭悊
select older_date,
newer_date,
years,
months,
abs(
trunc(
newer_date-
add_months( older_date,years*12+months )
)
) days
from ( select
trunc(months_between( newer_date, older_date )/12) YEARS,
mod(trunc(months_between( newer_date, older_date )),12 ) MONTHS,
newer_date,
older_date
from (
select hiredate older_date, add_months(hiredate,rownum)+rownum newer_date
from emp
)
)
14.澶勭悊鏈堜喚澶╂暟涓嶅畾鐨勫姙娉?nbsp;
select to_char(add_months(last_day(sysdate) +1, -2), 'yyyymmdd'),last_day(sysdate) from dual
16.鎵懼嚭浠婂勾鐨勫ぉ鏁?nbsp;
select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual
闂板勾鐨勫鐞嗘柟娉?nbsp;
to_char( last_day( to_date('02' | | :year,'mmyyyy') ), 'dd' )
濡傛灉鏄?8灝變笉鏄棸騫?nbsp;
17.yyyy涓巖rrr鐨勫尯鍒?nbsp;
'YYYY99 TO_C
------- ----
yyyy 99 0099
rrrr 99 1999
yyyy 01 0001
rrrr 01 2001
18.涓嶅悓鏃跺尯鐨勫鐞?nbsp;
select to_char( NEW_TIME( sysdate, 'GMT','EST'), 'dd/mm/yyyy hh:mi:ss') ,sysdate
from dual;
19.5縐掗挓涓涓棿闅?nbsp;
Select TO_DATE(FLOOR(TO_CHAR(sysdate,'SSSSS')/300) * 300,'SSSSS') ,TO_CHAR(sysdate,'SSSSS')
from dual
2002-11-1 9:55:00 35786
SSSSS琛ㄧず5浣嶇鏁?nbsp;
20.涓騫寸殑絎嚑澶?nbsp;
select TO_CHAR(SYSDATE,'DDD'),sysdate from dual
310 2002-11-6 10:03:51
21.璁$畻灝忔椂,鍒?縐?姣
select
Days,
A,
TRUNC(A*24) Hours,
TRUNC(A*24*60 - 60*TRUNC(A*24)) Minutes,
TRUNC(A*24*60*60 - 60*TRUNC(A*24*60)) Seconds,
TRUNC(A*24*60*60*100 - 100*TRUNC(A*24*60*60)) mSeconds
from
(
select
trunc(sysdate) Days,
sysdate - trunc(sysdate) A
from dual
)
select * from tabname
order by decode(mode,'FIFO',1,-1)*to_char(rq,'yyyymmddhh24miss');
//
floor((date2-date1) /365) 浣滀負騫?nbsp;
floor((date2-date1, 365) /30) 浣滀負鏈?nbsp;
d(mod(date2-date1, 365), 30)浣滀負鏃?
23.next_day鍑芥暟 榪斿洖涓嬩釜鏄熸湡鐨勬棩鏈?day涓?-7鎴栨槦鏈熸棩-鏄熸湡鍏?1琛ㄧず鏄熸湡鏃?br /> next_day(sysdate,6)鏄粠褰撳墠寮濮嬩笅涓涓槦鏈熶簲銆傚悗闈㈢殑鏁板瓧鏄粠鏄熸湡鏃ュ紑濮嬬畻璧楓?nbsp;
1 2 3 4 5 6 7
鏃?涓 浜?涓?鍥?浜?鍏?nbsp;
---------------------------------------------------------------
select (sysdate-to_date('2003-12-03 12:55:45','yyyy-mm-dd hh24:mi:ss'))*24*60*60 from ddual
鏃ユ湡 榪斿洖鐨勬槸澶?鐒跺悗 杞崲涓簊s
24,round[鑸嶅叆鍒版渶鎺ヨ繎鐨勬棩鏈焆(day:鑸嶅叆鍒版渶鎺ヨ繎鐨勬槦鏈熸棩)
select sysdate S1,
round(sysdate) S2 ,
round(sysdate,'year') YEAR,
round(sysdate,'month') MONTH ,
round(sysdate,'day') DAY from dual
25,trunc[鎴柇鍒版渶鎺ヨ繎鐨勬棩鏈?鍗曚綅涓哄ぉ] ,榪斿洖鐨勬槸鏃ユ湡綾誨瀷
select sysdate S1,
trunc(sysdate) S2, //榪斿洖褰撳墠鏃ユ湡,鏃犳椂鍒嗙
trunc(sysdate,'year') YEAR, //榪斿洖褰撳墠騫寸殑1鏈?鏃?鏃犳椂鍒嗙
trunc(sysdate,'month') MONTH , //榪斿洖褰撳墠鏈堢殑1鏃?鏃犳椂鍒嗙
trunc(sysdate,'day') DAY //榪斿洖褰撳墠鏄熸湡鐨勬槦鏈熷ぉ,鏃犳椂鍒嗙
from dual
26,榪斿洖鏃ユ湡鍒楄〃涓渶鏅氭棩鏈?br /> select greatest('01-1鏈?04','04-1鏈?04','10-2鏈?04') from dual
27.璁$畻鏃墮棿宸?br /> 娉?oracle鏃墮棿宸槸浠ュぉ鏁頒負鍗曚綅,鎵浠ユ崲綆楁垚騫存湀,鏃?br />
select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))/365) as spanYears from dual //鏃墮棿宸?騫?br /> select ceil(moths_between(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))) as spanMonths from dual //鏃墮棿宸?鏈?br /> select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))) as spanDays from dual //鏃墮棿宸?澶?br /> select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24) as spanHours from dual //鏃墮棿宸?鏃?br /> select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24*60) as spanMinutes from dual //鏃墮棿宸?鍒?br /> select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24*60*60) as spanSeconds from dual //鏃墮棿宸?縐?/span>
28.鏇存柊鏃墮棿
娉?oracle鏃墮棿鍔犲噺鏄互澶╂暟涓哄崟浣?璁炬敼鍙橀噺涓簄,鎵浠ユ崲綆楁垚騫存湀,鏃?br /> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n*365,'yyyy-mm-dd hh24:mi:ss') as newTime from dual //鏀瑰彉鏃墮棿-騫?br /> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),add_months(sysdate,n) as newTime from dual //鏀瑰彉鏃墮棿-鏈?br /> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n,'yyyy-mm-dd hh24:mi:ss') as newTime from dual //鏀瑰彉鏃墮棿-鏃?br /> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n/24,'yyyy-mm-dd hh24:mi:ss') as newTime from dual //鏀瑰彉鏃墮棿-鏃?br /> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n/24/60,'yyyy-mm-dd hh24:mi:ss') as newTime from dual //鏀瑰彉鏃墮棿-鍒?br /> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n/24/60/60,'yyyy-mm-dd hh24:mi:ss') as newTime from dual //鏀瑰彉鏃墮棿-縐?/span>
29.鏌ユ壘鏈堢殑絎竴澶?鏈鍚庝竴澶?br /> SELECT Trunc(Trunc(SYSDATE, 'MONTH') - 1, 'MONTH') First_Day_Last_Month,
Trunc(SYSDATE, 'MONTH') - 1 / 86400 Last_Day_Last_Month,
Trunc(SYSDATE, 'MONTH') First_Day_Cur_Month,
LAST_DAY(Trunc(SYSDATE, 'MONTH')) + 1 - 1 / 86400 Last_Day_Cur_Month
FROM dual;
涓? 瀛楃鍑芥暟(鍙敤浜庡瓧闈㈠瓧絎︽垨鏁版嵁搴撳垪)
1錛屽瓧絎︿覆鎴彇
select substr('abcdef',1,3) from dual
2,鏌ユ壘瀛愪覆浣嶇疆
select instr('abcfdgfdhd','fd') from dual
3,瀛楃涓茶繛鎺?br /> select 'HELLO'||'hello world' from dual;
4, 1)鍘繪帀瀛楃涓蹭腑鐨勭┖鏍?br /> select ltrim(' abc') s1,
rtrim('zhang ') s2,
trim(' zhang ') s3 from dual
2)鍘繪帀鍓嶅鍜屽悗緙
select trim(leading 9 from 9998767999) s1,
trim(trailing 9 from 9998767999) s2,
trim(9 from 9998767999) s3 from dual;
5,榪斿洖瀛楃涓查瀛楁瘝鐨凙scii鍊?br /> select ascii('a') from dual
6,榪斿洖ascii鍊煎搴旂殑瀛楁瘝
select chr(97) from dual
7,璁$畻瀛楃涓查暱搴?nbsp;
select length('abcdef') from dual
8,initcap錛堥瀛楁瘝鍙樺ぇ鍐欙級 ,lower(鍙樺皬鍐?,upper(鍙樺ぇ鍐?
select lower('ABC') s1,
upper('def') s2,
initcap('efg') s3
from dual;
9,Replace
select replace('abc','b','xy') from dual;
10,translate
select translate('abc','b','xx') from dual; -- x鏄?浣?/span>
11,lpad [宸︽坊鍏匽 rpad [鍙沖~鍏匽(鐢ㄤ簬鎺у埗杈撳嚭鏍煎紡)
select lpad('func',15,'=') s1, rpad('func',15,'-') s2 from dual;
select lpad(dname,14,'=') from dept;
12, decode[瀹炵幇if ..then 閫昏緫] 娉?絎竴涓槸琛ㄨ揪寮?鏈鍚庝竴涓槸涓嶆弧瓚充換浣曚竴涓潯浠剁殑鍊?br /> select deptno,decode(deptno,10,'1',20,'2',30,'3','鍏朵粬') from dept;
渚?
select seed,account_name,decode(seed,111,1000,200,2000,0) from t_userInfo//濡傛灉seed涓?11,鍒欏彇1000;涓?00,鍙?000;鍏跺畠鍙?
select seed,account_name,decode(sign(seed-111),1,'big seed',-1,'little seed','equal seed') from t_userInfo//濡傛灉seed>111,鍒欐樉紺哄ぇ;涓?00,鍒欐樉紺哄皬;鍏跺畠鍒欐樉
紺虹浉絳?/span>
13 case[瀹炵幇switch ..case 閫昏緫]
SELECT CASE X-FIELD
WHEN X-FIELD < 40 THEN 'X-FIELD 灝忎簬 40'
WHEN X-FIELD < 50 THEN 'X-FIELD 灝忎簬 50'
WHEN X-FIELD < 60 THEN 'X-FIELD 灝忎簬 60'
ELSE 'UNBEKNOWN'
END
FROM DUAL
娉?CASE璇彞鍦ㄥ鐞嗙被浼奸棶棰樺氨鏄懼緱闈炲父鐏墊椿銆傚綋鍙槸闇瑕佸尮閰嶅皯閲忔暟鍊兼椂錛岀敤Decode鏇翠負綆媧併?/span>
鍥?鏁板瓧鍑芥暟
1錛屽彇鏁村嚱鏁幫紙ceil 鍚戜笂鍙栨暣,floor 鍚戜笅鍙栨暣錛?br /> select ceil(66.6) N1,floor(66.6) N2 from dual;
2, 鍙栧箓(power) 鍜?姹傚鉤鏂規牴(sqrt)
select power(3,2) N1,sqrt(9) N2 from dual;
3,姹備綑
select mod(9,5) from dual;
4,榪斿洖鍥哄畾灝忔暟浣嶆暟 (round:鍥涜垗浜斿叆錛宼runc:鐩存帴鎴柇)
select round(66.667,2) N1,trunc(66.667,2) N2 from dual;
5,榪斿洖鍊肩殑絎﹀彿(姝f暟榪斿洖涓?,璐熸暟涓?1)
select sign(-32),sign(293) from dual;
浜?杞崲鍑芥暟
1錛宼o_char()[灝嗘棩鏈熷拰鏁板瓧綾誨瀷杞崲鎴愬瓧絎︾被鍨媇
1) select to_char(sysdate) s1,
to_char(sysdate,'yyyy-mm-dd') s2,
to_char(sysdate,'yyyy') s3,
to_char(sysdate,'yyyy-mm-dd hh12:mi:ss') s4,
to_char(sysdate, 'hh24:mi:ss') s5,
to_char(sysdate,'DAY') s6
from dual;
2) select sal,to_char(sal,'錛?9999') n1,to_char(sal,'錛?9,999') n2 from emp
2, to_date()[灝嗗瓧絎︾被鍨嬭漿鎹負鏃ユ湡綾誨瀷]
insert into emp(empno,hiredate) values(8000,to_date('2004-10-10','yyyy-mm-dd'));
3, to_number() 杞崲涓烘暟瀛楃被鍨?nbsp;
select to_number(to_char(sysdate,'hh12')) from dual; //浠ユ暟瀛楁樉紺虹殑灝忔椂鏁?br />
鍏?鍏朵粬鍑芥暟
1.user:
榪斿洖鐧誨綍鐨勭敤鎴峰悕縐?nbsp;
select user from dual;
2.vsize:
榪斿洖琛ㄨ揪寮忔墍闇鐨勫瓧鑺傛暟
select vsize('HELLO') from dual;
3.nvl(ex1,ex2): 銆
ex1鍊間負絀哄垯榪斿洖ex2,鍚﹀垯榪斿洖璇ュ兼湰韜玡x1錛堝父鐢級
渚嬶細濡傛灉闆囧憳娌℃湁浣i噾錛屽皢鏄劇ず0錛屽惁鍒欐樉紺轟劍閲?nbsp;
select comm,nvl(comm,0) from emp;
4.nullif(ex1,ex2):
鍊肩浉絳夎繑絀猴紝鍚﹀垯榪斿洖絎竴涓?br /> 渚嬶細濡傛灉宸ヨ祫鍜屼劍閲戠浉絳夛紝鍒欐樉紺虹┖錛屽惁鍒欐樉紺哄伐璧?br /> select nullif(sal,comm),sal,comm from emp;
5.coalesce: 銆
榪斿洖鍒楄〃涓涓涓潪絀鴻〃杈懼紡
select comm,sal,coalesce(comm,sal,sal*10) from emp;
6.nvl2(ex1,ex2,ex3) :
濡傛灉ex1涓嶄負絀猴紝鏄劇ずex2,鍚﹀垯鏄劇ずex3
濡傦細鏌ョ湅鏈変劍閲戠殑闆囧憳濮撳悕浠ュ強浠栦滑鐨勪劍閲?nbsp;
銆銆select nvl2(comm,ename,') as HaveCommName,comm from emp;
涓?鍒嗙粍鍑芥暟
max min avg count sum
1錛屾暣涓粨鏋滈泦鏄竴涓粍
1) 姹傞儴闂?0 鐨勬渶楂樺伐璧勶紝鏈浣庡伐璧?騫沖潎宸ヨ祫錛屾諱漢鏁幫紝鏈夊伐浣滅殑浜烘暟錛屽伐縐嶆暟閲忓強宸ヨ祫鎬誨拰
select max(ename),max(sal),
min(ename),min(sal),
avg(sal),
count(*) ,count(job),count(distinct(job)) ,
sum(sal) from emp where deptno=30;
2, 甯roup by 鍜?having 鐨勫垎緇?br /> 1)鎸夐儴闂ㄥ垎緇勬眰鏈楂樺伐璧勶紝鏈浣庡伐璧勶紝鎬諱漢鏁幫紝鏈夊伐浣滅殑浜烘暟錛屽伐縐嶆暟閲忓強宸ヨ祫鎬誨拰
select deptno, max(ename),max(sal),
min(ename),min(sal),
avg(sal),
count(*) ,count(job),count(distinct(job)) ,
sum(sal) from emp group by deptno;
2)閮ㄩ棬30鐨勬渶楂樺伐璧勶紝鏈浣庡伐璧勶紝鎬諱漢鏁幫紝鏈夊伐浣滅殑浜烘暟錛屽伐縐嶆暟閲忓強宸ヨ祫鎬誨拰
select deptno, max(ename),max(sal),
min(ename),min(sal),
avg(sal),
count(*) ,count(job),count(distinct(job)) ,
sum(sal) from emp group by deptno having deptno=30;
3, stddev 榪斿洖涓緇勫肩殑鏍囧噯鍋忓樊
select deptno,stddev(sal) from emp group by deptno;
variance 榪斿洖涓緇勫肩殑鏂瑰樊宸?br /> select deptno,variance(sal) from emp group by deptno;
4, 甯︽湁rollup鍜宑ube鎿嶄綔絎︾殑Group By
rollup 鎸夊垎緇勭殑絎竴涓垪榪涜緇熻鍜屾渶鍚庣殑灝忚
cube 鎸夊垎緇勭殑鎵鏈夊垪鐨勮繘琛岀粺璁″拰鏈鍚庣殑灝忚
select deptno,job ,sum(sal) from emp group by deptno,job;
select deptno,job ,sum(sal) from emp group by rollup(deptno,job);
cube 浜х敓緇勫唴鎵鏈夊垪鐨勭粺璁″拰鏈鍚庣殑灝忚
select deptno,job ,sum(sal) from emp group by cube(deptno,job);
鍏佷復鏃惰〃
鍙湪浼氳瘽鏈熼棿鎴栧湪浜嬪姟澶勭悊鏈熼棿瀛樺湪鐨勮〃.
涓存椂琛ㄥ湪鎻掑叆鏁版嵁鏃訛紝鍔ㄦ佸垎閰嶇┖闂?nbsp;
create global temporary table temp_dept
(dno number,
dname varchar2(10))
on commit delete rows;
insert into temp_dept values(10,'ABC');
commit;
select * from temp_dept; --鏃犳暟鎹樉紺?鏁版嵁鑷姩娓呴櫎
on commit preserve rows:鍦ㄤ細璇濇湡闂磋〃涓鐩村彲浠ュ瓨鍦紙淇濈暀鏁版嵁錛?br /> on commit delete rows:浜嬪姟緇撴潫娓呴櫎鏁版嵁錛堝湪浜嬪姟緇撴潫鏃惰嚜鍔ㄥ垹闄よ〃鐨勬暟鎹級