锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 鏁板瓧鍑芥暟 1.1銆丄BS(n)鍑芥暟 Examples錛歴elect abs(-15) “test” from dual; 1.2銆丄COS(n)鍑芥暟 Examples錛歴elect acos(0.6) “test”,acos(-.6) “test1” from dual; 1.3銆丆OS(n)鍑芥暟 Examples錛歴elect cos(1.6) “test”,cos(-6) “test1” from dual; 1.4銆丼IN(n)鍑芥暟 Examples錛歴elect sin(1.6) “test”,sin(-6) “test1” from dual; 1.5銆丄SIN(n)鍑芥暟 Examples錛歴elect asin(0.6) “test”,asin(-0.6) “test1” from dual; 1.6銆乀AN(n)鍑芥暟 Examples錛歴elect tan(6) “test”,tan(-0.6) “test1” from dual; 1.7銆丄TAN(n)鍑芥暟 Examples錛歴elect atan(6) “test”,atan(-0.6) “test1” from dual; 1.8銆丄TAN2(n,m)鍑芥暟 Examples錛歴elect atan2(19,3) “test”,atan2(-9,-0.9) “test1” from dual; 1.9銆丼INH(n)鍑芥暟 Examples錛歴elect sinh(6) “test”,sinh(-0.6) “test1” from dual; 1.10銆乀ANH(n)鍑芥暟 Examples錛歴elect tanh(6) “test”,tanh(-0.6) “test1” from dual; 1.11銆丆EIL(n)鍑芥暟 Examples錛歴elect ceil(6) “test”,ceil(6.6) “test1” from dual; 1.12銆丆OSH(n)鍑芥暟 Examples錛歴elect cosh(6) “test”,cosh(6.6) “test1” from dual; 1.13銆丒XP(n)鍑芥暟 Examples錛歴elect exp(6) “test” from dual; 1.14銆丗LOOR(n)鍑芥暟 Examples錛歴elect floor(6) “test”,floor(9.3) “test1” from dual; 1.15銆丩N(n)鍑芥暟 Examples錛歴elect ln(6) “test” from dual; 1.16銆丩OG(m,n)鍑芥暟 Examples錛歴elect log(6,3) “test” from dual; 1.17銆丮OD(m,n)鍑芥暟 Examples錛歴elect mod(6,3) “test” from dual; 1.18銆丳OWER(m,n)鍑芥暟 Examples錛歴elect power(6,3) “test” from dual; 1.19銆丷OUND(n,[m])鍑芥暟 Examples錛歴elect round(6.698,2) “test” from dual; 1.20銆丼IGN(n)鍑芥暟 Examples錛歴elect sign(6.698) “test”,sign(-9) “test1”,sign(0) “test2” from dual; 1.21銆丼QRT(n)鍑芥暟 Examples錛歴elect sqrt(6.698) “test” from dual; 1.22銆乀RUNC(n,[m])鍑芥暟 Examples錛歴elect trunc(6.698,2) “test”,trunk(696.3,-2) “test1” from dual; 瀛楃鍑芥暟 2.1銆丄SCII(n)鍑芥暟 Examples錛歴elect ascii(‘A’) “test”,ascii(‘鎴戜滑’) “test1” from dual; 2.2銆丆HR(n)鍑芥暟 Examples錛歴elect ascii(54992) “test” from dual; 2.3銆丆ONCAT(n,m)鍑芥暟 Examples錛歴elect concat(‘涓浗’,’浜烘皯’) “test” from dual; 2.4銆両NITCAP(n)鍑芥暟 Examples錛歴elect initcap(‘涓?鍥?浜?姘?#8217;) “test”,initcap(‘my word’) “test1”,initcap(‘my涓浗word’) “test2” from dual; 2.5銆両NSTR(chr1,chr2,[n,[m]])鍑芥暟 Examples錛歴elect instr('pplkoopijk','k',-1,1) “test” from dual; 澶囨敞錛氬綋n涓鴻礋鏁頒粠灝鵑儴鎼滅儲錛屼絾榪斿洖鍊間粛鐒舵槸鎸夋鍚戞帓鍒楀緱鍑虹殑浣嶇疆銆?/p>
2.6銆丩ENGTH(n)鍑芥暟 Examples錛歴elect length('ppl ') “test”,length(null) “test1” from dual; 2.7銆丩OWER(n)鍑芥暟 Examples錛歴elect lower('KKKD') “test” from dual; 2.8銆丩PAD(chr1,n,[chr2])鍑芥暟 Examples錛歴elect lpad('kkk',5) “test”,lpad(‘kkkkk’,4) “test1”,lpad(‘kkk’,6,’lll’) “test2” from dual; 2.9銆丩TRIM(chr,[n])鍑芥暟 Examples錛歴elect ltrim('abcde',’a’) “test”,ltrim(‘abcde’,’b’) “test1”,ltrim(‘abcdefg’,’cba’) “test2” from dual; 2.10銆丯LS_INITCAP(chr,[’nls_param’])鍑芥暟 Examples錛歴elect nls_initcap('ab cde') “test”,nls_initcap(‘a b c d e’,’nls_sort= SCHINESE_PINYIN_M’) “test1” from dual; 2.11銆丯LS_LOWER(chr,[‘nls_param’])鍑芥暟 Examples錛歴elect nls_lower('ABC') “test”,nls_lower(‘ABC’,’nls_sort= SCHINESE_PINYIN_M’) “test1” from dual; 2.12銆丯LSSORT(col,[’nls_param’])鍑芥暟 Examples錛歋ELECT part_number FROM cux_om_part_all ORDER BY nlssort(part_number,'nls_sort=SCHINESE_RADICAL_M') 2.13銆丯LS_UPPER(chr,[‘nls_param’])鍑芥暟 Examples錛歋ELECT nls_upper('ddddd','nls_sort=xdanish') FROM dual 2.14銆丷EGEXP_REPLACE(source_string,pattern,replace_string,position,occurtence,match_parameter)鍑芥暟(10g鏂板嚱鏁? 鍏朵腑replace_string,position,occurtence,match_parameter鍙傛暟閮芥槸鍙夌殑銆?/p>
2.15銆丷EGEXP_SUBSTR(source_string, pattern[,position [, occurrence[, match_parameter]]])鍑芥暟(10g鏂板嚱鏁? 鍏朵腑position,occurtence,match_parameter鍙傛暟閮芥槸鍙夌殑 Examples:select regexp_substr(‘http://www.oracle.com/products’,’http://([[:alnum:]]+\.?) {3,4} / ?’) “regexp_substr” from dual 2.16銆丷EGEXP_LIKE(source_string, pattern 鍏朵腑position,occurtence,match_parameter鍙傛暟閮芥槸鍙夌殑 Examples: 2.17銆丷EGEXP_INSTR(source_string, pattern Examples: 闄勬敞錛氫笂闈㈢孩鑹叉爣棰樼殑鍥涗釜鍑芥暟鏄痮racle 10g鎵嶆湁鐨勫嚱鏁幫紝浣跨敤姝e垯琛ㄨ揪寮忓彲浠ュ疄鐜板緢寮哄ぇ鐨勫姛鑳姐傞壌浜庡彉鍖栧お澶氾紝鍙互鍙傝僶racle鐨勫畼鏂規枃妗o細SQL Reference(絎竷绔? Examples: SELECT REPLACE('abcdeef','e','oo') "test",REPLACE('abcdeef','ee','oo') "test1",REPLACE('abcdeef',NULL,'oo') "test2",REPLACE('abcdeef','ee',NULL) "test3" FROM dual 2.19銆丷PAD(chr1,n,chr2)鍑芥暟 2.20銆丷TRIM(chr,[set])鍑芥暟 2.21銆丼OUNDEX(chr)鍑芥暟 Examples:select soundex(‘ship’) “test”,soundex(‘sleep’) “test1” from dual; 2.22銆丼UBSTR(chr,m[,n])鍑芥暟 Examples:select substr(‘abcdef’,0,3) “test”,substr(‘abcdef’,1,3) “test1”,substr(‘abcdef’,-3,3) “test2”,substr(‘abcdef’,-1,3) “test3” from dual 娉ㄦ剰錛歮鍙?鎴?鏃訛紝寮濮嬩綅緗槸涓鏍風殑錛岄兘鏄粠絎竴浣嶅紑濮嬶紝m涓鴻礋鐨勬椂鍊欙紝浠嶇劧鏄寜浠庡乏鍒板彸鐨勯『搴忓彇錛屾墍浠ュ鏋渕涓?1錛宯鐨勯暱搴﹀啀澶э紝涔熷彧鑳藉彇鍒版渶鍚庝竴涓瓧絎︼紝鍥犱負chr鍙寵竟宸茬粡娌℃湁瀛楃浜嗐?/p>
2.23銆乀RANSLATE(chr,from_str,to_str)鍑芥暟 Examples: SELECT translate('abcdeabc','abc','fgh') "test",translate('abcdeabc','abc','hf') "test1",translate('abcdeabc','ab','hfgh') "test2",translate('abcdeabc','abc',' ') "test3" FROM dual 娉ㄦ剰錛氬尮閰嶇殑瑙勫垯鏄痜rom_str鍜宼o_str姣忎釜瀛楃鎸夐『搴忕浉瀵瑰簲錛屽鏋渇rom_str瀛楃灝戜簬to_str涓殑瀛楃錛屽垯鍙浛鎹㈣兘瀵瑰簲鐨勫瓧絎︼紝to_str鍚庨潰涓嶈兘鍜宖rom_str瀵瑰簲鐨勫瓧絎﹀垯涓嶇錛屽鏋渇rom_str瀛楃澶氫簬to_str瀛楃錛屽垯from_str涓壘涓嶅埌瀵瑰簲瀛楃鎸夌収null鏉ュ鐞嗐?/p>
2.24銆乀RIM(chr)鍑芥暟 鍏跺叿浣撶殑璇硶鏍煎紡濡備笅錛?/p>
TRIM錛圼LEADING|TRAILING|BOTH][trimchar FROM] string錛?/p>
鍏朵腑錛?/p>
LEADING 鎸囨槑浠呬粎灝嗗瓧絎︿覆鐨勫墠緙瀛楃鍒犻櫎 TRAILING 鎸囨槑浠呬粎灝嗗瓧絎︿覆鐨勫熬闅忓瓧絎﹀垹闄?/p>
BOTH 鎸囨槑鏃㈠垹闄ゅ墠緙瀛楃錛屼篃鍒犻櫎灝鵑殢瀛楃銆傝繖涔熸槸榛樿鏂瑰紡 string 浠繪剰涓寰呭鐞嗗瓧絎︿覆 trimchar 鍙夐」銆傛寚鏄庤瘯鍥懼垹闄や粈涔堝瓧絎︼紝榛樿琚垹闄ょ殑瀛楃鏄┖鏍?/p>
涓嬮潰鏄鍑芥暟鐨勪嬌鐢ㄦ儏鍐碉細 TRIM錛?#8217; Ashley ’錛?‘Ashley’ TRIM錛圠EADING ’*’ FROM’***Ashley***’錛?‘Ashley***’ 2.25銆乁PPER(chr)鍑芥暟 鍏跺叿浣撶殑璇硶鏍煎紡濡備笅錛?/p>
UPPER錛坰tring錛?/p>
鍏朵腑錛?/p>
string 浠繪剰VARCHAR2鎴朇HAR鍨嬪瓧絎︿覆 涓嬮潰鏄鍑芥暟鐨勪嬌鐢ㄦ儏鍐碉細 UPPER錛?#8217;THIS IS a Test’錛?‘THIS IS A TEST’ 鏃ユ湡鍑芥暟 3.1銆乤dd_months(d,n) 璇存槑:榪斿洖褰撳墠浼氳瘽鏃跺尯涓殑褰撳墠鏃ユ湡鏃墮棿 璇存槑:榪斿洖鏁版嵁搴撳疄渚嬫椂鍖? 璇存槑:鏄劇ず鎸囧畾鏍煎紡鐨勬棩鏈熷箋?br />
select extract(month from sysdate) "This Month" from dual; 璇存槑:榪斿洖鍖呭惈浜嗘棩鏈熷弬鏁扮殑鏈堜喚鐨勬渶鍚庝竴澶╃殑鏃ユ湡 璇存槑:榪斿洖d1鍜宒2涓や釜鏈堜喚涔嬮棿鐩稿樊鐨勬湀鏁幫紝鑻1<d2,榪斿洖璐熸暟錛沝1>d2錛岃繑鍥炴鏁幫紱鑻1鍜宒2閮芥槸鏈堝簳鎴栬呭ぉ鏁扮浉鍚岋紝鍒欒繑鍥炴暣鏁幫紝鍚﹀垯浠ユ瘡鏈?1澶╀負鍩哄噯鏁拌繑鍥炲皬鏁般?br />
select months_between(to_date('2007-01-31','yyyy-mm-dd'),to_date('2006-11-30','yyyy-mm-dd')) from dual; 璇存槑:榪斿洖鏃ユ湡d鎸囧畾鐨勫湪鏃ユ湡d涔嬪悗鐨勭涓涓伐浣滄棩錛?/p>
SELECT next_day(SYSDATE,'鏄熸湡鍥?) FROM dual; Select next_day(sysdate,’monday’) from dual; 閿欒錛屼笉鑳戒嬌鐢ㄨ嫳鏂囧崟璇?/p>
榪斿洖褰撳墠鏃ユ湡鍚庣殑絎竴涓槦鏈熷洓鐨勬棩鏈熴傝嫢褰撳墠鏃ユ湡宸茬粡鏄槦鏈熷洓鎴栬繃浜嗘槦鏈熷洓錛屽垯榪斿洖涓嬪懆鐨勬槦鏈熷洓瀵瑰簲鐨勬棩鏈燂紝鍚﹀垯榪斿洖鏈懆鏄熸湡鍥涚殑鏃ユ湡銆?/p>
娉ㄦ剰錛歷archar2鎸囧畾宸ヤ綔鏃ョ殑鏃跺欏拰褰撳墠鏁版嵁搴撳疄渚嬬殑鍙傛暟璁劇疆鏈夊叧錛屽瓧絎︿覆闇瑕佺敤涓枃鍐欙紝濡傛灉涓枃涓嶈錛屽氨浣跨敤鑻辨枃鏄熸湡浠h〃銆?/p>
3.8銆乺ound(d,fmt) Select round(sysdate,’month’) from dual; 3.9銆乼runc(d,fmc) SELECT trunc(SYSDATE,'month') FROM dual; 3.10銆乻ysdate 搴旂敤錛? 2. select to_char( to_date(222,'J'),'Jsp') from dual 3.姹傛煇澶╂槸鏄熸湡鍑? 4. 涓や釜鏃ユ湡闂寸殑澶╂暟 5. 鏃墮棿涓簄ull鐨勭敤娉? 6.鏈堜喚宸? 9. 鏌ユ壘鏈堜喚 11 14.澶勭悊鏈堜喚澶╂暟涓嶅畾鐨勫姙娉? 16.鎵懼嚭浠婂勾鐨勫ぉ鏁? 闂板勾鐨勫鐞嗘柟娉? 17.yyyy涓巖rrr鐨勫尯鍒? 18.涓嶅悓鏃跺尯鐨勫鐞? 19.5縐掗挓涓涓棿闅? 2002-11-1 9:55:00 35786 20.涓騫寸殑絎嚑澶? 21.璁$畻灝忔椂,鍒?縐?姣 select * from tabname 23.next_day鍑芥暟 榪斿洖涓嬩釜鏄熸湡鐨勬棩鏈?day涓?-7鎴栨槦鏈熸棩-鏄熸湡鍏?1琛ㄧず鏄熸湡鏃?br />
next_day(sysdate,6)鏄粠褰撳墠寮濮嬩笅涓涓槦鏈熶簲銆傚悗闈㈢殑鏁板瓧鏄粠鏄熸湡鏃ュ紑濮嬬畻璧楓? 25,trunc[鎴柇鍒版渶鎺ヨ繎鐨勬棩鏈?鍗曚綅涓哄ぉ] ,榪斿洖鐨勬槸鏃ユ湡綾誨瀷 26,榪斿洖鏃ユ湡鍒楄〃涓渶鏅氭棩鏈?br />
select greatest('01-1鏈?04','04-1鏈?04','10-2鏈?04') from dual 27.璁$畻鏃墮棿宸?br />
娉?oracle鏃墮棿宸槸浠ュぉ鏁頒負鍗曚綅,鎵浠ユ崲綆楁垚騫存湀,鏃?br />
28.鏇存柊鏃墮棿 29.鏌ユ壘鏈堢殑絎竴澶?鏈鍚庝竴澶?br />
SELECT Trunc(Trunc(SYSDATE, 'MONTH') - 1, 'MONTH') First_Day_Last_Month, 杞崲鍑芥暟 4.1銆乤sciistr(str) SELECT asciistr('涓崕姘戞棌') FROM dual; 澶囨敞錛氬拰璇ュ嚱鏁扮浉浼肩殑鏈塧scii,瀹冩槸鍙栧緱瀛楃涓茬涓涓瓧絎︾殑ascii鐮侊紝鍚庨潰鐨勫瓧絎︿笉綆★紱chr鏄皢ascii鐮佽漿鎹負瀵瑰簲鐨勫瓧絎︺?/p>
4.2銆乧ast() SELECT CAST(SYSDATE AS VARCHAR2(100)) FROM dual; 4.3銆乧hartorowid(str) 4.4銆乧onvert(str,char_set,source_char_set) SELECT convert('涓浗','US7ASCII','ZHS16GBK') FROM dual; 4.4銆乺owidtochar(rowid) 4.5銆乼o_char() select to_char(10000,’L99G999D99MI’) from dual; 杞崲鎴愯揣甯佹牸寮?/p>
4.6銆乼o_date() 4.7銆乼o_number() 鍗曡鍑芥暟 decode(exer.search1,result1[search2,result2,...][,defalut]) 鍒嗙粍鍑芥暟 6.2max 鍙栨渶澶у?/span> 6.3min 鍙栨渶灝忓?/span> 6.4count 鍙栬褰曟暟 6.5sum 姹傚拰 搴旂敤錛?/span> 1.鍒嗙粍鍑芥暟鍜宒istinct鍏抽敭璇嶇殑鎼厤 2.緇勫嚱鏁頒笌絀哄?br />
select count(comm) from emp 3.鍒嗙粍鏁版嵁 4.浣跨敤group by瑙勫垯 5.鍏充簬group by鏉′歡鍒嗙粍鐨勯棶棰?br />
A.group by鍙互鍜寃here鏉ユ惌閰?br />
where鍙兘鍦╣roup by鐨勫墠闈?br />
Select JOB From EMP Where SAL>2000 Group By JOB B.where瀛愬彞涓笉鑳藉寘鎷粍鍑芥暟 瀵硅薄鍑芥暟 table:citys 騫垮窞 A 騫垮窞 A,B,C,D 璇烽棶oracle 鐨剆ql璇彞瑕佹庝箞鍐?--SQL娓告爣
--娓告爣錛氭槸鎸囧悜涓婁笅鏂囧尯鐨勬寚閽?/span>
/*
1 闅愬惈娓告爣
闅愬惈娓告爣鍙堢ОSQL娓告爣錛屼笓闂ㄧ敤浜庡鐞哠ELECT INTO錛孖NSERT錛孶PDATE鍙奃ELETE璇彞錛屽綋鍦≒L/SQL涓墽琛?br />
INSERT錛孶PDATE鍙奃ELETE鏃訛紝涓哄彇寰桪ML璇彞浣滅敤鐨勭粨鏋滐紝蹇呴』瑕佷嬌鐢⊿QL娓告爣灞炴э紝SQL娓告爣鍖呮嫭sql%found,
sql%notfound,sql%rowcount,sql%isopen鍥涗釜灞炴с?br />
錛?錛塻ql%isopen 鐢ㄦ棩鍏冪‘瀹歋QL娓告爣鏄惁宸茬粡鎵撳紑錛屽綋鎵цSELECT INTO錛孖NSERT錛孶PDATE鍙奃ELETE璇彞鏃朵細闅?br />
鍚墦寮娓告爣錛屽茍涓斿湪鎵ц瀹屾垚鍚庨殣鍚叧闂父鏍囥傛墍浠ュ浜庡紑鍙戜漢鍛樿灞炴ф案榪滀負false,涓嶉渶瑕佷嬌鐢ㄨ灞炴с?br />
錛?錛塻ql%found/sql%notfound 鐢ㄤ簬紜畾SQL璇彞鎵ц鏄惁鎴愬姛銆?br />
SQL璇彞鎵ц鏄惁鎴愬姛鏍規嵁鏄惁鏈変綔鐢ㄦ潵鍒ゆ柇錛屽綋SQL璇彞鏈変綔鐢ㄦ椂錛宻ql%found灞炴у間負TRUE(sql%notfound灞炴у間負FALSE)錛涘惁鍒欏弽涔嬨?/span>*/
declare
v_name user_info.name%type := 'junly';
begin
update user_info set money = money*1.1
where name=v_name;
if sql%found then
dbms_output.put_line('璇彞鎵ц鎴愬姛');
else
dbms_output.put_line('鐢ㄦ埛鍚嶄笉瀛樺湪');
end if;
end;
-- 錛?錛塻ql%rowcount 榪斿洖SQL璇彞浣滅敤鐨勬昏琛屾暟
declare
v_name user_info.name%type := 'junly';
begin
update user_info set money = money*1.1
where name=v_name;
dbms_output.put_line('淇敼浜?/span>'||sql%rowcount||'琛?/span>');
end;
/*2 鏄懼紡娓告爣
鐢ㄤ簬澶勭悊SELECT璇彞
*/
]]>--鎺у埗璇彞
--if
if condition then
statements;
elsif condition then
statements;
else
statements;
end if;
--case
case v_no
when 10 then
statements;
when 20 then
statements;
when 30 then
statements;
else
statements;
end case;
--------------
case
when v_no>30 then
statements;
when v_no>20 then
statements;
when v_no>10 then
statements;
end case;
--loop
loop
statements;
exit when condition;
end loop;
--while
while condition loop
statements;
end loop;
--for
for i in [reverse]
v_start..v_end loop
statements;
end loop;
--i鏄驚鐜帶鍒跺彉閲忥紝涓嶉渶瑕佹樉寮忓畾涔夛紝v_start,v_end鍒嗗埆涓轟笅鐣屽煎拰涓婄晫鍊箋傚鏋滄寚瀹歳everse鍒欏驚鐜彉閲忚嚜鍔ㄥ噺涓銆?/span>
begin
for i in reverse 1..10 loop
dbms_output.put_line(i);
end loop;
end;
--10,9,8,7,6,5,4,3,2,1
--宓屽寰幆
declare
result int;
begin
<<outer>>
for i in 1..10 loop
<<inner>>
for j in 1..10 loop
result:=i*j;
exit outer when i=9;
dbms_output.put_line(i||j);
end loop inner;
end loop outer;
end;
]]>
鎻忚堪錛氳繑鍥炴暟鍊糿鐨勭粷瀵瑰箋?/p>
鎻忚堪錛氳繑鍥炴暟鍊糿鐨勫弽浣欏雞鍊箋傝緭鍏ユ暟鍊艱寖鍥村湪-1~1涔嬮棿錛岃繑鍥炲間負寮у害銆?/p>
鎻忚堪: 榪斿洖鏁板糿鐨勪綑寮﹀箋傝繑鍥炲間負寮у害銆?/p>
鎻忚堪: 榪斿洖鏁板糿鐨勬寮﹀箋?/p>
鎻忚堪: 榪斿洖鏁板糿鐨勫弽姝e雞鍊箋傝緭鍏ユ暟鍊艱寖鍥村湪-1~1涔嬮棿錛岃繑鍥炲間負寮у害銆?/p>
鎻忚堪: 榪斿洖鏁板糿鐨勬鍒囧箋?/p>
鎻忚堪: 榪斿洖鏁板糿鐨勫弽姝e垏鍊箋傝緭鍏ユ暟鍊間換鎰忥紝榪斿洖鍊間負寮у害銆?/p>
鎻忚堪: 榪斿洖鏁板糿/m鐨勫弽姝e垏鍊箋傝緭鍏ユ暟鍊間換鎰忥紝榪斿洖鍊間負寮у害銆?/p>
鎻忚堪: 榪斿洖鏁板糿鐨勫弻鏇叉寮﹀箋傝緭鍏ユ暟鍊間換鎰忋?/p>
鎻忚堪: 榪斿洖鏁板糿鐨勫弻鏇叉鍒囧箋傝緭鍏ユ暟鍊間換鎰忋?/p>
鎻忚堪: 榪斿洖澶т簬絳変簬鏁板糿鐨勬渶灝忔暣鏁般?/p>
鎻忚堪: 榪斿洖鏁板糿鐨勫弻鏇蹭綑寮﹀箋?/p>
鎻忚堪: 榪斿洖e鐨刵嬈″啣銆?e=2.71828183…)
鎻忚堪: 榪斿洖灝忎簬絳変簬鏁板糿鐨勬渶澶ф暣鏁般?/p>
鎻忚堪: 榪斿洖鏁板糿鐨勮嚜鐒跺鏁般?n蹇呴』澶т簬0)
鎻忚堪: 榪斿洖浠涓哄簳鐨勬暟鍊糿鐨勫鏁般?m>1,n>0)
鎻忚堪: 榪斿洖m/n鍚庣殑浣欐暟錛岃嫢n=0錛屽垯榪斿洖m錛堟眰妯¤繍綆楋級
鎻忚堪: 榪斿洖m鐨刵嬈″啣
鎻忚堪: 鎵ц鍥涜垗浜斿叆榪愮畻錛宮鍙互鐪佺暐錛屽綋鐪佺暐m鏃訛紝鍥涜垗浜斿叆鍒版暣鏁頒綅錛涘綋m涓烘鏁版椂錛屽洓鑸嶄簲鍏ュ埌灝忔暟鐐瑰悗m浣嶏紱褰搈涓鴻礋鏁版椂錛屽洓鑸嶄簲鍏ュ埌灝忔暟鐐瑰墠m浣嶃?/p>
鎻忚堪: 媯嫻嬫暟鍊肩殑姝h礋錛屽綋n<0鍒欒繑鍥?1錛涘綋n>0鍒欒繑鍥?錛屽綋n=0榪斿洖0銆?/p>
鎻忚堪: 榪斿洖鏁板糿鐨勫鉤鏂規牴銆?n>=0)
鎻忚堪: 鎴彇鏁板糿,m鍙互鐪佺暐錛屽綋鐪佺暐m鏃跺垯鎴彇n鐨勫皬鏁伴儴鍒嗭紱褰搈涓烘鏁版椂鍒欏皢n鎴彇鍒板皬鏁扮偣鍚巑浣嶏紱褰搈涓鴻礋鏁版椂鍒欏皢n鎴彇鍒板皬鏁扮偣鍓峬浣?/p>
璇存槑錛氬瓧絎﹀嚱鏁拌緭鍏ュ間負瀛楃綾誨瀷錛岃繑鍥炲間負瀛楃綾誨瀷鎴栨暟瀛楃被鍨嬶紝鍙互鍦╯ql璇彞涓洿鎺ヤ嬌鐢紝涔熷彲浠ュ湪pl/sql鍧椾腑浣跨敤銆?/p>
鎻忚堪: 榪斿洖瀛楃涓茬殑ascii鐮?褰撹緭鍏ヤ負瀛楃涓叉椂榪斿洖絎竴涓瓧絎︾殑ascii鐮?
鎻忚堪: 榪斿洖瀵瑰簲鐨刟scii鐮佺殑瀛楃(n蹇呴』涓烘暟瀛楃被鍨?
鎻忚堪: 榪炴帴n鍜宮錛宯鍜宮鍙互鏄瓧絎︼紝涔熷彲浠ユ槸瀛楃涓層備綔鐢ㄥ拰”||”涓鏍楓?/p>
鎻忚堪: 灝嗗瓧絎︿覆n涓瘡涓崟璇嶉瀛楁瘝澶у啓錛屽叾浣欏皬鍐?鍖哄垎鍗曡瘝鐨勮鍒欐槸鎸夌┖鏍兼垨闈炲瓧姣嶅瓧絎︼紱鍙互杈撳叆涓枃瀛楃錛屼絾娌℃湁浠諱綍浣滅敤)
鎻忚堪: 鑾峰彇瀛楃涓瞔hr2鍦ㄥ瓧絎︿覆chr1涓嚭鐜扮殑浣嶇疆銆俷鍜宮鍙?鐪佺暐鏄粯璁や負1錛沶浠h〃寮濮嬫煡鎵劇殑璧峰浣嶇疆錛屽綋n涓鴻礋鏁頒粠灝鵑儴寮濮嬫悳绱紱m浠h〃瀛椾覆鍑虹幇鐨勬鏁般?/p>
鎻忚堪: 榪斿洖瀛楃鎴栧瓧絎︿覆闀垮害銆?褰搉涓簄ull鏃訛紝榪斿洖nll錛涜繑鍥炵殑闀垮害鍖呮嫭鍚庨潰鐨勭┖鏍?
鎻忚堪: 灝唍杞崲涓哄皬鍐欍?/p>
鎻忚堪: 鍦╟hr1宸﹁竟濉厖瀛楃chr2錛屼嬌寰楀瓧絎︽婚暱搴︿負n銆俢hr2鍙夛紝榛樿涓虹┖鏍鹼紱褰揷hr1瀛楃涓查暱搴﹀ぇ浜巒鏃訛紝鍒欎粠宸﹁竟鎴彇chr1鐨刵涓瓧絎︽樉紺恒?/p>
鎻忚堪: 鍘繪帀瀛楃涓瞔hr宸﹁竟鍖呭惈鐨刵瀛楃涓蹭腑鐨勪換浣曞瓧絎︼紝鐩村埌鍑虹幇涓涓笉鍖呭惈鍦╪涓殑瀛楃涓烘銆?/p>
鎻忚堪: 灝哻hr棣栧瓧姣嶅ぇ鍐欍侼ls_param鍙夛紝鎸囧畾鎺掑簭鐨勬柟寮忋傦紙鏈塖CHINESE_RADICAL_M錛堥儴棣栥佺瑪鐢伙級錛孲CHINESE_STROKE_M錛堢瑪鐢匯侀儴棣栵級錛孲CHINESE_PINYIN_M錛堟嫾闊籌級錛?/p>
鎻忚堪: 灝嗗瓧絎︿覆杞崲涓哄皬鍐欍侼ls_param鍙夛紝鎸囧畾鎺掑簭鐨勬柟寮忋傦紙鏈塖CHINESE_RADICAL_M錛堥儴棣栥佺瑪鐢伙級錛孲CHINESE_STROKE_M錛堢瑪鐢匯侀儴棣栵級錛孲CHINESE_PINYIN_M錛堟嫾闊籌級錛?/p>
鎻忚堪: 鏍規嵁nls_param鎸囧畾鐨勬柟寮忓col瀛楁榪涜鎺掑簭銆?/p>
鎻忚堪: 灝哻hr杞崲涓哄ぇ鍐欍侼ls_param鍙夛紝鐢ㄤ簬鎸囧畾鎺掑簭瑙勫垯
鎻忚堪:瀛楃涓叉浛鎹㈠嚱鏁般傜浉褰撲簬澧炲己鐨剅eplace鍑芥暟銆係ource_string鎸囧畾婧愬瓧絎﹁〃杈懼紡錛沺attern鎸囧畾瑙勫垯琛ㄨ揪寮忥紱replace_string鎸囧畾鐢ㄤ簬鏇挎崲鐨勫瓧絎︿覆錛沺osition鎸囧畾璧峰鎼滅儲浣嶇疆錛沷ccurtence鎸囧畾鏇挎崲鍑虹幇鐨勭n涓瓧絎︿覆錛沵atch_parameter鎸囧畾榛樿鍖歸厤鎿嶄綔鐨勬枃鏈覆銆?/p>
鎻忚堪錛氳繑鍥炲尮閰嶆ā寮忕殑瀛愬瓧絎︿覆銆傜浉褰撲簬澧炲己鐨剆ubstr鍑芥暟銆係ource_string鎸囧畾婧愬瓧絎﹁〃杈懼紡錛沺attern鎸囧畾瑙勫垯琛ㄨ揪寮忥紱position鎸囧畾璧峰鎼滅儲浣嶇疆錛沷ccurtence鎸囧畾鏇挎崲鍑虹幇鐨勭n涓瓧絎︿覆錛沵atch_parameter鎸囧畾榛樿鍖歸厤鎿嶄綔鐨勬枃鏈覆銆?/p>
[, match_parameter])鍑芥暟(10g鏂板嚱鏁?
鎻忚堪錛氳繑鍥炴弧瓚沖尮閰嶆ā寮忕殑瀛楃涓層傜浉褰撲簬澧炲己鐨刲ike鍑芥暟銆係ource_string鎸囧畾婧愬瓧絎﹁〃杈懼紡錛沺attern鎸囧畾瑙勫垯琛ㄨ揪寮忥紱match_parameter鎸囧畾榛樿鍖歸厤鎿嶄綔鐨勬枃鏈覆銆?/p>
[, start_position
[, occurrence
[, return_option
[, match_parameter]]]])鍑芥暟(10g鏂板嚱鏁?
鎻忚堪: 璇ュ嚱鏁版煡鎵?pattern 錛屽茍榪斿洖璇ユā寮忕殑絎竴涓綅緗傛偍鍙互闅忔剰鎸囧畾鎮ㄦ兂瑕佸紑濮嬫悳绱㈢殑 start_position銆?occurrence 鍙傛暟榛樿涓?1錛岄櫎闈炴偍鎸囧畾鎮ㄨ鏌ユ壘鎺ヤ笅鏉ュ嚭鐜扮殑涓涓ā寮忋俽eturn_option 鐨勯粯璁ゅ間負 0錛屽畠榪斿洖璇ユā寮忕殑璧峰浣嶇疆錛涘間負 1 鍒欒繑鍥炵鍚堝尮閰嶆潯浠剁殑涓嬩竴涓瓧絎︾殑璧峰浣嶇疆
2.18銆丷EPLACE(chr,search_string,[,replacement_string])鍑芥暟
鎻忚堪:灝哻hr涓弧瓚硈earch_string鏉′歡鐨勬浛鎹負replacement_string鎸囧畾鐨勫瓧絎︿覆錛屽綋search_string涓簄ull鏃訛紝榪斿洖chr錛涘綋replacement_string涓簄ull鏃訛紝榪斿洖chr涓埅鍙栨帀search_string閮ㄥ垎鐨勫瓧絎︿覆銆?/p>
鎻忚堪錛氬湪chr1鍙寵竟濉厖chr2錛屼嬌榪斿洖瀛楃涓查暱搴︿負n..褰揷hr1闀垮害澶т簬n鏃訛紝榪斿洖宸︾n涓瓧絎︺傚弬鑰僉PAD()鍑芥暟銆?/p>
鎻忚堪錛氬幓鎺塩hr鍙寵竟鍖呭惈鐨剆et涓殑浠諱綍瀛楃錛岀洿鍒板嚭鐜頒竴涓笉鏄痵et涓殑瀛楃緇撴潫銆傚弬鑰僉TRIM()鍑芥暟銆?/p>
鎻忚堪錛氳繑鍥炲瓧絎︿覆鐨勮闊寵〃紺猴紝鍙互鐢ㄦ潵姣旇緝瀛楃涓茬殑鍙戦煶鏄惁鐩稿悓銆?/p>
鎻忚堪錛氬彇chr鐨勫瓙涓層侻浠h〃寮濮嬩綅緗紝n鏄鍙栫殑闀垮害銆傚綋m涓?鏃朵粠棣栧瓧絎﹀紑濮嬶紝褰搈涓鴻礋鏃朵粠瀛楃涓插熬閮ㄥ紑濮嬫埅鍙栥?/p>
鎻忚堪錛氬彟涓縐嶆浛鎹㈠嚱鏁扮殑鐢ㄦ硶銆?/p>
TRIM鍑芥暟灝嗗瓧絎︿覆鐨勫墠緙錛堟垨灝鵑殢錛夊瓧絎﹀垹闄ゃ?/p>
UPPER鍑芥暟闂磋繑鍥炲瓧絎︿覆鐨勫ぇ鍐欏艦寮忋?/p>
璇存槑錛氱敤浜庝粠涓涓棩鏈熷煎鍔犳垨鍑忓皯涓浜涙湀浠?d浠h〃涓涓棩鏈?n涓烘鏁板垯浠h〃鍦╠鏃ユ湡 涓婂鍔爊鏈堜喚錛宯涓鴻礋鏁板垯浠h〃鍦╠鏃ユ湡涓婂噺灝憂鏈?
渚?select add_months(sysdate,12) "Next Year" from dual;
3.2銆乧urrent_date()
alter session set time_zone=’-11:00’(鏇存敼褰撳墠浼氳瘽鏃跺尯鍛戒護)
渚?select sessiontimezone,current_date from dual;
3.3銆乨btimezone()
select dbtimezone from dual;
3.4銆乪xtract()
select extract(year from add_months(sysdate,36)) "3 Years Out" from dual;
3.5銆乴ast_day()
select last_day(sysdate) "last" from dual;
3.6銆乵onths_between(d1,d2)
3.7銆乶ext_day(d,varchar2)
璇存槑錛氳繑鍥炴棩鏈熸椂闂寸殑鍥涜垗浜斿叆緇撴灉銆傚鏋渇mt鎸囧畾騫達紝鍒欎互7鏈?鏃ヤ負鍒嗙晫錛涘鏋滄寚瀹氭湀錛屽垯浠?6鏃ヤ負鍒嗙晫錛涘叧浜庢寜澶╂潵鍥涜垗浜斿叆錛屽湪嫻嬭瘯鏃舵棤娉曠悊瑙?璧勬枡涓婅В閲婃寜澶╃殑鏃跺欐槸浠ヤ腑鍗?2錛?0涓哄垎鐣?
璇存槑錛氭寜鐓ф寚瀹氱殑鏍煎紡鎴柇鏃ユ湡錛屽鏋滄寚瀹氭牸寮忎負騫達紝鍒欑粨鏋滀負鏈勾1鏈?鏃ワ紝濡傛灉鏍煎紡鎸囧畾涓烘湀錛屽垯緇撴灉涓烘湰鏈?鏃ワ紝鍏充簬鏍煎紡鎸囧畾涓哄ぉ榪樻湭鐞嗚В銆?/p>
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//
鏄劇ずTwo Hundred Twenty-Two
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';
涔熷彲浠ヨ繖鏍?
TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')
select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;
select id, active_date from table1
UNION
select 1, TO_DATE(null) from dual;
娉ㄦ剰瑕佺敤TO_DATE(null)
a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd')
閭d箞12鏈?1鍙蜂腑鍗?2鐐逛箣鍚庡拰12鏈?鍙風殑12鐐逛箣鍓嶆槸涓嶅寘鍚湪榪欎釜鑼冨洿涔嬪唴鐨勩?
鎵浠ワ紝褰撴椂闂撮渶瑕佺簿紜殑鏃跺欙紝瑙夊緱to_char榪樻槸蹇呰鐨?
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錛屽綋鐒惰繕鏈夊緢澶氾紝
鍙煡鐪?
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闂撮櫎鏄熸湡涓鍜屼竷鐨勫ぉ鏁?
鍦ㄥ墠鍚庡垎鍒皟鐢―BMS_UTILITY.GET_TIME, 璁╁悗灝嗙粨鏋滅浉鍑?寰楀埌鐨勬槸1/100縐? 鑰屼笉鏄縐?.
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鐨勭敤娉?
Next_day(date, day)
Monday-Sunday, for format code DAY
Mon-Sun, for format code DY
1-7, for format code D
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.鑾峰緱灝忔椂鏁?
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
)
)
select to_char(add_months(last_day(sysdate) +1, -2), 'yyyymmdd'),last_day(sysdate) from dual
select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual
to_char( last_day( to_date('02' | | :year,'mmyyyy') ), 'dd' )
濡傛灉鏄?8灝變笉鏄棸騫?
'YYYY99 TO_C
------- ----
yyyy 99 0099
rrrr 99 1999
yyyy 01 0001
rrrr 01 2001
select to_char( NEW_TIME( sysdate, 'GMT','EST'), 'dd/mm/yyyy hh:mi:ss') ,sysdate
from dual;
Select TO_DATE(FLOOR(TO_CHAR(sysdate,'SSSSS')/300) * 300,'SSSSS') ,TO_CHAR(sysdate,'SSSSS')
from dual
SSSSS琛ㄧず5浣嶇鏁?
select TO_CHAR(SYSDATE,'DDD'),sysdate from dual
310 2002-11-6 10:03:51
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
)
order by decode(mode,'FIFO',1,-1)*to_char(rq,'yyyymmddhh24miss');
//
floor((date2-date1) /365) 浣滀負騫?
floor((date2-date1, 365) /30) 浣滀負鏈?
d(mod(date2-date1, 365), 30)浣滀負鏃?
1 2 3 4 5 6 7
鏃?涓 浜?涓?鍥?浜?鍏?
---------------------------------------------------------------
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
select sysdate S1,
trunc(sysdate) S2, //榪斿洖褰撳墠鏃ユ湡,鏃犳椂鍒嗙
trunc(sysdate,'year') YEAR, //榪斿洖褰撳墠騫寸殑1鏈?鏃?鏃犳椂鍒嗙
trunc(sysdate,'month') MONTH , //榪斿洖褰撳墠鏈堢殑1鏃?鏃犳椂鍒嗙
trunc(sysdate,'day') DAY //榪斿洖褰撳墠鏄熸湡鐨勬槦鏈熷ぉ,鏃犳椂鍒嗙
from dual
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 //鏃墮棿宸?縐?/p>
娉?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 //鏀瑰彉鏃墮棿-縐?/p>
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;
璇存槑錛氬皢浠繪剰瀛楃闆嗙殑瀛楃涓茶漿鎹負褰撳墠鏁版嵁搴撳疄渚嬪搴旂殑ascii瀛楃涓層?/p>
璇存槑錛氬皢涓涓唴緗暟鎹被鍨嬫垨闆嗗悎綾誨瀷杞彉涓哄彟涓涓唴緗暟鎹被鍨嬫垨闆嗗悎綾誨瀷銆?/p>
璇存槑錛氬皢瀛楃涓茶漿鍙樹負rowid鏁版嵁綾誨瀷錛屼絾瀛楃涓插繀欏葷鍚坮owid鏍煎紡銆?/p>
璇存槑錛氬皢瀛楃涓蹭粠涓涓瓧絎﹂泦杞彉涓哄彟涓涓瓧絎﹂泦銆係tr涓鴻杞彉鐨勫瓧絎︿覆錛宑har_set涓鴻漿鍙樺悗鐨勫瓧絎﹂泦錛宻ource_char_set涓鴻瀛楃涓插師濮嬬殑瀛楃闆嗐?/p>
璇存槑錛氬皢rowid杞崲涓哄搴旂殑varchar2鏁版嵁綾誨瀷鍊箋?/p>
select to_char(n’涓浗’) from dual; 杞彉涓烘湰鍦板瓧絎﹂泦綾誨瀷
杞彉涓烘棩鏈熸牸寮忋?/p>
灝嗗瓧絎︿覆杞彉涓烘暟瀛楀鹼紝浣嗗瓧絎︿覆蹇呴』鏄暟瀛?0~9)銆?/p>
鐢ㄤ簬鍖歸厤鐗瑰畾琛ㄨ揪寮忕殑緇撴灉錛屽鏋渟earch1鍖歸厤浜巈xer錛屽垯榪斿洖result1錛屽鏋渟earch2鍖歸厤浜巈xer鍒欒繑鍥瀝esult2錛?br />
渚濇綾繪帹錛屽鏋滄病鏈変換浣曞尮閰嶅叧緋誨垯榪斿洖defalut
6.1AVG 鍙栧鉤鍧囧?/span>
Select AVG(SAL) From EMP
select max(sal) from emp
select min(sal) from emp
SELECT COUNT(*) FROM EMP
涔熷彲浠?br />
select count(empno) from emp
娉ㄦ剰:
瑕佷箞count(*)
瑕佷箞count(娌℃湁null鍊肩殑鍒?--涓婚敭)
Select SUM(SAL*12) From EMP
Select COUNT(Distinct SAL) From EMP
絀哄間笉鍙備笌榪愮畻,鐩存帴琚繃婊ゆ帀
group by瀛愬彞
SELECT COUNT(*) FROM EMP GROUP BY DEPTNO
A.group by鍚庨潰鐨勫瓧孌典笉蹇呮樉紺哄湪select鍒楄〃涓?br />
B.鍙嶄箣鍒欎笉琛?br />
涔熷氨鏄:select鍚庨潰鐨勫瓧孌靛繀欏誨湪group by瀛愬彞涓嚭鐜?br />
渚嬪鐨勬槸:
鍦ㄧ粍鍑芥暟(count,max,min絳?涓嚭鐜扮殑瀛楁闄ゅ
group by鍚庨潰涓嶈兘鏈墂here
鏉′歡鐨勮〃杈懼彧鑳戒嬌鐢╤aving鏉ヨ〃紺?br />
Select DEPTNO,Max(SAL),Min(SAL) From EMP Group By DEPTNO Having Max(SAL)>2000
]]>--1瀹氫箟鏍囬噺鍙橀噺
--錛?錛夊畾涔夎娉?/span>
鍙橀噺鍚?nbsp;[constant] 鏁版嵁綾誨瀷 [not null] [:= | default expr]
-- constant:鐢ㄤ簬鎸囧畾甯擱噺銆傚繀欏繪寚瀹氬垵濮嬪?/span>
-- := 鐢ㄤ簬涓哄彉閲忓拰甯擱噺鎸囧畾鍒濆鍊?/span>
-- expr鍒濆鍊肩殑pl/sql琛ㄨ揪寮忥紝鍙互鏄枃鏈箋佸彉閲忋佸嚱鏁扮瓑
--紺轟緥1錛?/span>
v_name varchar2(10);
v_rate constant number(3,2) := 5.5;
v_valid boolean not null default false;
--錛?錛変嬌鐢?/span>
--鍙橀噺璧嬪間嬌鐢ㄧ瓑鍙峰墠鍔犲啋鍙鳳紙:=錛?/span>
--紺轟緥2錛?/span>
declare
v_name varchar2(10);
v_money number(6,2);
c_tax_rate constant number(3,2) := -0.03;
v_tax_money number(6,2);
begin
select user_name,game_money into v_name,v_money
from user_info where user_id = 100000;
v_tax_money := v_money*c_tax_rate;
dbms_output.put_line('name:'||v_name);
dbms_output.put_line('money:'||v_money);
dbms_output.put_line('rate:'||v_tax_money);
end
--錛?錛変嬌鐢?TYPE灞炴?/span>
v_name user_info.user_name%TYPE;
v_money user_info.game_money%TYPE;
c_tax_rate constant number(3,2) := -0.03;
v_tax_money v_money%TYPE;
--鍙橀噺v_name錛寁_money涓巙ser_info琛ㄧ殑user_name錛実ame_money鍒楃殑綾誨瀷鍜岄暱搴﹀畬鍏ㄤ竴鑷?/span>
--鍙橀噺v_tax_money涓庡彉鏄痸_money鐨勭被鍨嬪拰闀垮害瀹屽叏涓鑷?/span>
--2澶嶅悎鍙橀噺
--錛?錛塸l/sql璁板綍錛堢被浼間簬緇撴瀯錛?/span>
-- 鍦ㄥ畾涔夐儴鍒嗗畾涔夎褰曠被鍨嬪拰璁板綍鍙橀噺錛屽湪鎵ц閮ㄥ垎寮曠敤璇ヨ褰曞彉閲?/span>
-- 寮曠敤璁板綍鎴愬憳鏃跺繀欏昏鍔犺褰曞彉閲忎綔涓哄墠緙錛堣褰曞彉閲忋傝褰曟垚鍛橈級
--紺轟緥3錛?/span>
declare
TYPE record_type IS RECORD(
v_name user_info.user_name%TYPE,
v_money user_info.game_money%TYPE
);
emp_record record_type;
begin
select user_name,game_money into emp_record
from user_info where user_id = 100000;
dbms_output.put_line('name:'||emp_record.v_name);
dbms_output.put_line('money:'||emp_record.v_money);
end
--錛?錛塸l/sql琛紙綾諱技浜庢暟緇勶級
-- pl/sql琛ㄤ笌鏁扮粍鍖哄埆錛氫笅鏍囨病鏈変笂涓嬮檺錛屼釜鏁板勾娌℃湁闄愬埗錛屼笅紲ㄥ彲浠ヤ負璐熷?/span>
-- 蹇呴』鍏堝湪瀹氫箟閮ㄥ垎瀹氫箟pl/sql琛ㄧ被鍨嬪拰pl/sql琛ㄥ彉閲忥紝鍦ㄦ墽琛岄儴鍒嗗紩鐢ㄨpl/sql琛ㄥ彉閲?/span>
--紺轟緥4錛?/span>
declare
TYPE name_table_type IS TABLE OF user_info.user_name%TYPE
INDEX BY BINARY_INTEGER;
v_name name_table_type;
begin
select user_name into v_name(-1)
from user_info where user_id = 100000;
dbms_output.put_line('name:'||v_name(-1));
end
--錛?錛夊祵濂楄〃
--錛?錛塚ARRAY錛堝彉闀挎暟緇勶級
--3 鍙傜収鍙橀噺
-- 鐢ㄤ簬瀛樻斁鏁板兼寚閽堢殑鍙橀噺銆?/span>
--錛?錛夋父鏍囧彉閲忥紙REF CURSOR錛?/span>
-- 闈欐佹父鏍囷細闇瑕佸湪瀹氫箟娓告爣鏃舵寚瀹氱浉搴旂殑select璇彞
-- 紺轟緥5錛?/span>
declare
type c1 is ref cursor;--c1涓簉ef cursor綾誨瀷
emp_cursor c1;--emp_cursor涓烘父鏍囧彉閲?/span>
v_name user_info.user_name%TYPE;
v_money user_info.game_money%TYPE;
begin
open emp_cursor for --鎵撳紑娓告爣鍙橀噺鏃舵寚瀹氫簡瀵瑰簲鐨剆elect璇彞
select user_name,game_money from user_info where user_id = 100000;
loop
fetch emp_cursor into v_name,v_money;
exit when emp_cursor%notfound;
dbms_output.put_line(v_name);
end loop;
end;
-- 鍔ㄦ佹父鏍囷細鍦ㄥ畾涔夋父鏍囧彉閲忔椂涓嶈闇鎸囧畾鐩稿簲鐨剆elect璇彞錛岃屾槸鎵撳紑娓告爣鏃舵寚瀹歴elect璇彞
--錛?錛夊璞$被鍨嬪彉閲忥紙REF obj_type錛?/span>
-- 鏄寚鍚戝璞″疄渚嬬殑鎸囬拡
-- 紺轟緥6錛?/span>
create or replace type home_type as object(--寤虹珛瀵硅薄綾誨瀷
street varchar2(50),city varchar2(20),
state varchar2(20),zipcode varchar2(6),
owner varchar2(10)
);
create table homes of home_type;--寤鴻〃
insert into homes values('涓婃搗璺?00鍙?/span>','涓婃搗','200000','junly');
commit;
--瀵硅薄琛╤omes瀛樻斁瀹跺涵鍦板潃鍙婃埛涓誨鍚嶏紝濡傛瘡涓搴湁鍥涘彛浜猴紝涓轟簡鍚屼竴瀹跺涵鎴愬憳鍏變韓瀹跺涵鍦板潃錛?/span>
--鍙嬌鐢≧EF寮曠敤home_type瀵硅薄綾誨瀷錛屼粠鑰岄檷浣庡崰鐢ㄧ┖闂淬?/span>
create table person(
id number(6) primary key,
name varchar2(10),
addr ref home_type
);
insert into person select 1,'junly',ref(p) from homes p where p.owner='junly'
insert into person select 2,'junl2',ref(p) from homes p where p.owner='junly'
--person琛ㄦ彃鍏ユ暟鎹椂錛宎ddr鍒楀皢瀛樺叆鎸囧悜homes琛ㄧ浉搴旀暟鎹殑鍦板潃鎸囬拡
--4 LOB鍙橀噺
/*鐢ㄤ簬瀛樺偍澶ф壒閲忔暟鎹殑鍙橀噺
錛?錛夊唴閮↙OB
CLOB 鏀妧浜嬪姟鎿嶄綔 瀛樺偍鏁版嵁搴撲腑 鐢ㄤ簬瀛樺偍澶ф壒閲忓瓧絎︽暟鎹?br />
BLOB 鏀妧浜嬪姟鎿嶄綔 瀛樺偍鏁版嵁搴撲腑 鐢ㄤ簬瀛樺偍澶ф壒閲忎簩榪涘埗鏁版嵁
NCLOB 鏀妧浜嬪姟鎿嶄綔 瀛樺偍鏁版嵁搴撲腑 鐢ㄤ簬瀛樺偍澶ф壒閲忓瓧絎︽暟鎹?br />
錛?錛夊閮↙OB
BFILE 涓嶆敮鎶浜嬪姟 瀛樺湪OS鏂囦歡涓?nbsp; 瀛樺偍鎸囧悜OS鏂囦歡鐨勬寚閽?br />
*/
--5闈濸L/SQL鍙橀噺
]]>
city ran
騫垮窞 B
騫垮窞 C
騫垮窞 D
city ran
select city,wmsys.wm_concat(ran)
from citys
group by city
2 澶囧繕insert into emp (id,name,sex,tim) --dual
values(id_seq.nextval,'junly',default,to_date('2010-5-11 11:25:00','yyyy-mm-dd hh24:mi:ss'))
3 鐩存帴瑁呰澆--鐩存帴瑁呰澆鏂瑰紡
insert /*+append*/ into emp (field1,field2,field3)
select f1,f2,f3 from tep
where f4=20;
4 鏇存柊--鏇存柊
update emp set (field1,field2,field3)=(
select f1,f2,f3 from tep where f4=20)
where field4=100;
5 鍙栨秷閲嶅
select count(distinct user_name) as num
from user_info
6 group by + rollup 妯悜灝忚
-- group by + rollup 妯悜灝忚
select num1,sum(num2),sum(num3) from tmp_tb
group by rollup (num1)
7 group by + cube 綰靛悜灝忚
-- group by + cube 綰靛悜灝忚
select num1,sum(num2),sum(num3) from tmp_tb
group by cube(num1)
8 鑷繛鎺?br />
-- 鑷繛鎺?/span>
/* user_info
id name pid
-------------------
7888 king
7889 blank 7888
7900 jones 7888
*/
select manager.name from user_info manager,user_info worker
where manager.id=worker.pid
and worker.name='jones';
----------
king
9 ALL鍜孉NY錛堜笉鑳藉崟鐙嬌鐢紝涓庡崟琛屾瘮杈冪錛?,>,<,>=,<=,<>錛界粨鍚堜嬌鐢級
--ALL鍜孉NY錛堜笉鑳藉崟鐙嬌鐢紝涓庡崟琛屾瘮杈冪錛?,>,<,>=,<=,<>錛界粨鍚堜嬌鐢級
/*
ALL 蹇呴』瑕佺鍚堝瓙鏌ヨ緇撴灉鐨勬墍鏈夊?br />
ANY 鍙絎﹀悎瀛愭煡璇㈢粨鏋滅殑浠諱竴涓煎嵆鍙?br />
*/
select user_name,money from user_info where money >all(
select money form user_game where id=10);
select user_name,money from user_info where money >any(
select money form user_game where id>10);
10 鍚堝茍鏌ヨ
--錛?錛塽nion 鍙栦袱涓粨鏋滈泦鐨勫茍闆嗭紝鑷姩鍘繪帀閲嶅琛屽茍浠ョ涓鍒楃殑緇撴灉鎺掑簭
--錛?錛塽nion all 鍙栦袱涓粨鏋滈泦鐨勫茍闆嗭紝涓嶅幓閲嶅琛屼篃涓嶈繘琛屾帓搴?/span>
--錛?錛塱ntersect 鍙栦袱涓粨鏋滈泦鐨勪氦闆?/span>
--錛?錛塵inus 鍙栦袱涓粨鏋滈泦鐨勫樊闆?/span>
select uname,sal from emp where sal>200
union
select uname,sal from emp where job='aaa'
11 case鏉′歡鍒嗘敮
select name,case when money>3000 then 3
when money>2000 then 2 when money>1000 then 1 end
from user_info where user_id=10000;
12 with瀛愬悕閲嶇敤瀛愭煡璇?br />
--with瀛愬悕閲嶇敤瀛愭煡璇?/span>
with summary as (
select name,sum(money) as total from user_info
group by name
)
select name,total from summary
where total>3000;
13 connect by (鎰熻阿騫垮窞Nicholas鍏?
select sysdate - rownum rn from dual connect by rownum<100
--鏃?/span>
select to_number(to_char(rn,'yyyymmdd'))rn from(select sysdate - rownum rn
from dual connect by rownum<(
select floor(sysdate-regist_time)from sales_info where user_id=15587657))
--鏈堜喚
select to_number(to_char(rn,'yyyymm'))rn from(
select add_months(sysdate,-rownum) rn
from dual connect by rownum<(
select floor(months_between(sysdate,regist_time)) from sales_info where user_id=15587657))
14 鎵圭悊淇敼
merge into sales_info s
using tb_rd_user_info u
on (s.user_id=u.user_id)
when matched then
update
set s.user_name=u.user_name;
commit;
15 鍒犻櫎閲嶅璁板綍
delete from user where rowid in (
select max(rowid) from user group by userName having count(userName)>1)
]]>--渚?
declare
v_name varchar2(10);
begin
select user_name into v_name from tb_rd_user_info where user_name='ywj12';
dbms_output.put_line('name:'||v_name);
exception
when no_data_found then
dbms_output.put_line('error name');
end;
--鍖垮悕鍧?/span>
-- 娌℃湁鍚嶇О鐨刾l/sql鍧楋紝濡備緥1
--鍛藉悕鍧?/span>
--瀛愮▼搴?/span>
-- (1)榪囩▼
-- 寤虹珛榪囩▼鏃跺彲浠ユ寚瀹氳緭鍏ュ弬鏁?in),杈撳嚭鍙傛暟(out)
create or replace procedure update_money(uname varchar2,num number)
is
begin
update tb_rd_user_info set game_money = num
where user_name = uname;
end update_money;
-- 鍒犻櫎
drop procedure update_money;
-- 璋冪敤
exec update_money('ywj123',100000);
call update_money('ywj123',100000);
-- 閲嶆柊緙栬瘧
alter procedure update_money compile;
-- 鎺堟潈student鐢ㄦ埛浣跨敤璇ヨ繃紼?/span>
grant execute on update_money to student;
-- (2)鍑芥暟
-- 鍒涘緩
create or replace function get_user_id(uname varchar2)
return number is
uid number;
begin
select user_id into uid from tb_rd_user_info
where user_name=uname;
return uid;
end;
-- 璋冪敤
var rs number
call get_user_id('ywj123') into :rs;
-- 鍒犻櫎
drop function get_user_id;
-- 閲嶆柊緙栬瘧
alter function get_user_id compile錛?br />
-- (3)鍖?/span>
-- 鍒涘緩(鍖呯敱鍖呰鑼冨拰鍖呬綋涓ら儴鍒嗙粍鎴?
-- 鍖呰鑼?/span>
create package emp_pkg is
procedure update_money (uname varchar2,num number);
function get_user_id(uname varchar2) return number;
end;
-- 鍖呬綋
create package body emp_pkg is
procedure update_money(uname varchar2,num number)
is
begin
update tb_rd_user_info set game_money = num
where user_name = uname;
end update_money;
function get_user_id(uname varchar2)
return number is
uid number;
begin
select user_id into uid from tb_rd_user_info
where user_name=uname;
return uid;
end;
end;
-- 璋冪敤
call emp_pkg.update_money('ywj123',100000);
var rs number
call emp_pkg.get_user_id('ywj123') into :rs;
--瑙e彂鍣?/span>
瀛樺偍榪囩▼鍙傛暟浼犻?/span>
鍙傛暟鐨勪綔鐢ㄦ槸鍚戝瓨鍌ㄨ繃紼嬩紶閫掓暟鎹紝鎴栦粠瀛樺偍榪囩▼鑾峰緱榪斿洖緇撴灉銆傛紜殑浣跨敤鍙傛暟鍙互澶уぇ澧炲姞瀛樺偍榪囩▼鐨勭伒媧繪у拰閫氱敤鎬с?
鍙傛暟鐨勭被鍨嬫湁涓夌錛屽涓嬫墍紺恒?
鍙傛暟鐨勫畾涔夊艦寮忓拰浣滅敤濡備笅錛?
鍙傛暟鍚?IN 鏁版嵁綾誨瀷 DEFAULT 鍊鹼紱
瀹氫箟涓涓緭鍏ュ弬鏁板彉閲忥紝鐢ㄤ簬浼犻掑弬鏁扮粰瀛樺偍榪囩▼銆傚湪璋冪敤瀛樺偍榪囩▼鏃訛紝涓葷▼搴忕殑瀹為檯鍙傛暟鍙互鏄父閲忋佹湁鍊煎彉閲忔垨琛ㄨ揪寮忕瓑銆侱EFAULT 鍏抽敭瀛椾負鍙夐」錛岀敤鏉ヨ瀹氬弬鏁扮殑榛樿鍊箋傚鏋滃湪璋冪敤瀛樺偍榪囩▼鏃朵笉鎸囨槑鍙傛暟錛屽垯鍙傛暟鍙橀噺鍙栭粯璁ゅ箋傚湪瀛樺偍榪囩▼涓紝杈撳叆鍙橀噺鎺ユ敹涓葷▼搴忎紶閫掔殑鍊鹼紝浣嗕笉鑳藉鍏惰繘琛岃祴鍊箋?
鍙傛暟鍚?OUT 鏁版嵁綾誨瀷錛?
瀹氫箟涓涓緭鍑哄弬鏁板彉閲忥紝鐢ㄤ簬浠庡瓨鍌ㄨ繃紼嬭幏鍙栨暟鎹紝鍗沖彉閲忎粠瀛樺偍榪囩▼涓繑鍥炲肩粰涓葷▼搴忋?
鍦ㄨ皟鐢ㄥ瓨鍌ㄨ繃紼嬫椂錛屼富紼嬪簭鐨勫疄闄呭弬鏁板彧鑳芥槸涓涓彉閲忥紝鑰屼笉鑳芥槸甯擱噺鎴栬〃杈懼紡銆傚湪瀛樺偍榪囩▼涓紝鍙傛暟鍙橀噺鍙兘琚祴鍊艱屼笉鑳藉皢鍏剁敤浜庤祴鍊鹼紝鍦ㄥ瓨鍌ㄨ繃紼嬩腑蹇呴』緇欒緭鍑哄彉閲忚嚦灝戣祴鍊間竴嬈°?
鍙傛暟鍚?IN OUT 鏁版嵁綾誨瀷 DEFAULT 鍊鹼紱
瀹氫箟涓涓緭鍏ャ佽緭鍑哄弬鏁板彉閲忥紝鍏兼湁浠ヤ笂涓よ呯殑鍔熻兘銆傚湪璋冪敤瀛樺偍榪囩▼鏃訛紝涓葷▼搴忕殑瀹為檯鍙傛暟鍙兘鏄竴涓彉閲忥紝鑰屼笉鑳芥槸甯擱噺鎴栬〃杈懼紡銆侱EFAULT 鍏抽敭瀛椾負鍙夐」錛岀敤鏉ヨ瀹氬弬鏁扮殑榛樿鍊箋傚湪瀛樺偍榪囩▼涓紝鍙橀噺鎺ユ敹涓葷▼搴忎紶閫掔殑鍊鹼紝鍚屾椂鍙互鍙傚姞璧嬪艱繍綆楋紝涔熷彲浠ュ鍏惰繘琛岃祴鍊箋傚湪瀛樺偍榪囩▼涓繀欏葷粰鍙橀噺鑷沖皯璧嬪間竴嬈°?
濡傛灉鐪佺暐IN銆丱UT鎴朓N OUT錛屽垯榛樿妯″紡鏄疘N銆?nbsp;
CREATE OR REPLACE PROCEDURE CHANGE_SALARY(P_EMPNO IN NUMBER DEFAULT 7788,P_RAISE NUMBER DEFAULT 10)
AS
V_ENAME VARCHAR2(10);
V_SAL NUMBER(5);
BEGIN
SELECT ENAME,SAL INTO V_ENAME,V_SAL FROM EMP WHERE EMPNO=P_EMPNO;
UPDATE EMP SET SAL=SAL+P_RAISE WHERE EMPNO=P_EMPNO;
DBMS_OUTPUT.PUT_LINE('闆囧憳'||V_ENAME||'鐨勫伐璧勮鏀逛負'||TO_CHAR(V_SAL+P_RAISE));
COMMIT;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('鍙戠敓閿欒錛屼慨鏀瑰け璐ワ紒');
ROLLBACK;
END;
EXECUTE CHANGE_SALARY(P_RAISE=>80,P_EMPNO=>7788);
鍙互鐪嬪嚭浼犻掑弬鏁扮殑欏哄簭鍙戠敓浜嗗彉鍖栵紝騫朵笖鏄庣‘鎸囧嚭浜嗗弬鏁板悕鍜岃浼犻掔殑鍊鹼紝=>榪愮畻絎﹀乏渚ф槸鍙傛暟鍚嶏紝鍙充晶鏄弬鏁拌〃杈懼紡錛岃繖縐嶈祴鍊兼柟娉曠殑鎰忎箟杈冩竻妤氥?
]]>
1-1銆?#8220;SQL Server 2005 鏈嶅姟”涓仠姝㈡湇鍔?#8220;SQL Server 錛?/span>SQLEXPRESS錛?#8221;錛堥粯璁ゆ槸鍚姩鐘舵侊級
1-2銆?#8220;SQL Server 2005 緗戠粶閰嶇疆” → “MSSQLSERVER 鐨勫崗璁?#8221;錛屽惎鍔?#8220;TCP/IP”錛堥粯璁ゆ槸紱佺敤鐘舵侊級錛岀劧鍚庡弻鍑?#8220;TCP/IP”榪涘叆灞炴ц緗紝鍦?#8220;IP 鍦板潃”閲岋紝紜“IPAll”
涓殑“TCP 绔彛”涓?/span>1433
1-3銆?#8220;SQL Server 2005 鏈嶅姟”涓惎鍔ㄦ湇鍔?#8220;SQL Server 錛?/span>MSSQLSERVER 錛?#8221;錛堥粯璁ゆ槸鍋滄鐘舵侊級
1-4銆佸叧闂?#8220;SQL Server Configuration Manager”錛堟鏃跺彲浠ュ惎鍔?#8220;SQL Server Management Studio”錛屽茍鐢ㄥ笎鎴?/span>sa銆佸瘑鐮?/span>123鐧誨綍錛?/span>SQL Server鏈嶅姟鍣ㄨ緗紜殑璇濆簲璇ヨ兘鐧誨綍鎴愬姛錛?/span>
2銆佸鍏?/span>jar鍖咃細
鎵撳紑Test鐨?#8220;Properties” → “Java Build Path” → “Libraries” → “Add External JARs” 錛岄夋嫨涓嬭澆濂界殑榪炴帴椹卞姩鍖?#8220;sqljdbc.jar”錛岀劧鍚庣偣鍑?#8220;OK”紜畾
3濡傛灉浣犱互鍓嶇敤JDBC榪炴帴SQL Server 2000鐨勮瘽灝?span style="color: red">瑕佹敞鎰忎簡錛?/span>
鍦?/span>SQL Server 2000 涓姞杞介┍鍔ㄥ拰URL璺緞鐨勮鍙ユ槸
“com.microsoft.jdbc.sqlserver.SQLServerDriver”
“jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=JSPTest”
鑰?/span>SQL Server 2005 涓姞杞介┍鍔ㄥ拰URL鐨勮鍙ュ垯涓?/span>
“com.microsoft.sqlserver.jdbc.SQLServerDriver”
“jdbc:sqlserver://localhost:1433; DatabaseName=JSPTest”
娉ㄦ剰涓よ呯殑宸紓瀵煎叆CSV鏂囦歡姝ラ錛?/p>
1銆侀夋嫨tools->text importer....
2銆侀夋嫨絎簩涓狣ata to oracle閫夐」鍗★紝鐒跺悗閫夋嫨Open Data file....錛岄夋嫨瑕佸鍏ョ殑csv鏂囦歡錛岀‘瀹?/p>
3銆侀夋嫨瀵瑰簲鐨刼wner鍜宼able錛屽皢瀛楁涓涓瀵瑰簲錛屾渶鍚庣偣鍑諱笅鏂圭殑瀵煎叆錛屾暟鎹嵆瀵煎叆鍒頒簡閫夊畾鐨則able涓簡銆?/p>
瀵煎嚭csv鏂囦歡鐩稿姣旇緝綆鍗曪細
1銆佸厛鐢╯ql璇彞鏌ヨ寰楀埌緇撴灉
2銆侀夋嫨export query results .....閫夋嫨淇濆瓨涓篶sv鏂囦歡鍗沖彲銆?/p>
鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛歨ttp://blog.csdn.net/lovingprince/archive/2009/03/11/3979833.aspx