ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>精品一区二区亚洲,在线观看av每日更新免费,日韩黄色网址http://www.aygfsteel.com/haiing/æ–°çš„èµïL‚¹zh-cnSat, 14 Jun 2025 12:49:12 GMTSat, 14 Jun 2025 12:49:12 GMT60Oracle常用及非常用函数详解http://www.aygfsteel.com/haiing/archive/2008/12/14/246264.html轧钢王子轧钢王子Sun, 14 Dec 2008 12:12:00 GMThttp://www.aygfsteel.com/haiing/archive/2008/12/14/246264.htmlhttp://www.aygfsteel.com/haiing/comments/246264.htmlhttp://www.aygfsteel.com/haiing/archive/2008/12/14/246264.html#Feedback0http://www.aygfsteel.com/haiing/comments/commentRss/246264.htmlhttp://www.aygfsteel.com/haiing/services/trackbacks/246264.html

感于æ€ÀLœ‰äº›ç½‘友提å‡ÞZ¸€äº›éžå¸¸åŸº¼‹€çš„问题,比如有没有实现某某功能的函数啊,某某函数是做什么用的啊åQŒæ ¼å¼æ˜¯ä»€ä¹ˆç­‰½{‰ï¼ŒåŒæ—¶ä¹Ÿæ„Ÿå—到自己对oracle函数认识的不­‘»I¼ŒäºŽæ˜¯é›†ä¸­æœˆä½™æ—‰™—´ä¸“注于oracle函数åQŒå°æœ‰å¿ƒå¾—不敢私藏,发之与诸公共享ã€?

本文òq¶ä¸å‡†å¤‡ä»‹ç»å…¨éƒ¨çš„oracle函数åQŒå½“前情势下åQŒä¿ºä¹Ÿè¿˜æ²¡è¿™ä¸ªæ—¶é—ß_¼Œéœ€è¦å­¦ä¹ çš„东西太多了,要把多数旉™—´èŠ±åœ¨å­¦ä¹ ¾lå¸¸èƒ½ç”¨ä¸Šçš„æŠ€æœ¯æ–¹é?)åQŒæ‰€ä»¥å¦‚果是准备深入了解所有oracle函数的朋友,˜q˜æ˜¯åŽÕd…³æ³¨ï¼šOracle SQL Reference官方文档更靠è°×ƒ¸€äº›ã€?

本文更多ž®†ä¼šä»‹ç»ä¸‰æ€åœ¨æ—¥å¸¸ä¸­ç»å¸æ€¼šç”¨åˆ°çš„,或者虽然很ž®‘用刎ͼŒä½†æ˜¯æ„Ÿè§‰æŒºæœ‰æ„æ€çš„一些函数。分二类介绍åQŒåˆ†åˆ«æ˜¯åQ?
著名函数½‹‡ã€€åQç»å¸¸ç”¨åˆ°çš„函数
非著名函数篇åQå³è™½ç„¶å¾ˆå°‘用到åQŒä½†æŸäº›æƒ…况下却很实ç”?

注:N表示数字型,C表示字符型,D表示日期型,[]表示内中参数可被忽略åQŒfmt表示格式ã€?

单值函数在查询中返回单个å€û|¼Œå¯è¢«åº”用到selectåQŒwhere子句åQŒstart with以及connect by 子句和having子句ã€?
(一).数值型函数(Number Functions)
æ•°å€¼åž‹å‡½æ•°è¾“å…¥æ•°å­—åž‹å‚æ•°åÆˆ˜q”回数值型的倹{€‚多数该¾cÕd‡½æ•°çš„˜q”回值支æŒ?8位小数点åQŒè¯¸å¦‚:COS, COSH, EXP, LN, LOG, SIN, SINH, SQRT, TAN, and TANH 支持36位小数点。ACOS, ASIN, ATAN, and ATAN2支持30位小数点ã€?

1、MOD(n1,n2) ˜q”回n1除n2的余敎ͼŒå¦‚æžœn2=0则返回n1的倹{€?
    例如åQšSELECT MOD(24,5) FROM DUAL;

2ã€? ROUND(n1[,n2]) ˜q”回四舍五入ž®æ•°ç‚¹å³è¾¹n2位后n1çš„å€û|¼Œn2¾~ºçœå€égØ“0åQŒå¦‚æžœn2䏸™´Ÿæ•°å°±èˆå…¥åˆ°å°æ•°ç‚¹å·¦è¾¹ç›¸åº”的位ä¸?虽然oracle documents上提到n2的值必™åÖMؓ整数åQŒäº‹å®žä¸Šæ‰§è¡Œæ—¶æ­¤å¤„的判断òq¶ä¸ä¸¥è°}åQŒå³ä½¿n2为非整数åQŒå®ƒä¹Ÿä¼šè‡ªåЍž®†n2取整后做处理åQŒä½†æ˜¯æˆ‘文档中其它提到必™åÖMØ“æ•´çš„åœ°æ–¹éœ€è¦ç‰¹åˆ«æ³¨æ„ï¼Œå¦‚æžœä¸äØ“æ•´æ‰§è¡Œæ—¶ä¼šæŠ¥é”™çš„)ã€?
例如åQšSELECT ROUND(23.56),ROUND(23.56,1),ROUND(23.56,-1) FROM DUAL;

3、TRUNC(n1[,n2] ˜q”回截尾到n2位小数的n1çš„å€û|¼Œn2¾~ºçœè®„¡½®ä¸?åQŒå½“n2为缺省设¾|®æ—¶ä¼šå°†n1截尾为整敎ͼŒå¦‚æžœn2䏸™´Ÿå€û|¼Œž®±æˆªž®‘Öœ¨ž®æ•°ç‚¹å·¦è¾¹ç›¸åº”的位上ã€?
例如åQšSELECT TRUNC(23.56),TRUNC(23.56,1),TRUNC(23.56,-1) FROM DUAL;

(äº?.字符型函数返回字½W¦å€?Character Functions Returning Character Values)
该类函数˜q”回与输入类型相同的¾cÕdž‹ã€?
˜q”回的CHAR¾cÕdž‹å€¼é•¿åº¦ä¸­‘…过2000字节åQ?
˜q”回的VCHAR2¾cÕdž‹å€¼é•¿åº¦ä¸­‘…过4000字节åQ?
如果上述应返回的字符长度­‘…出åQŒoracleòq¶ä¸ä¼šæŠ¥é”™è€Œæ˜¯ç›´æŽ¥æˆªæ–­è‡Ïxœ€å¤§å¯æ”¯æŒé•¿åº¦˜q”回ã€?

˜q”回的CLOB¾cÕdž‹å€¼é•¿åº¦ä¸­‘…过4GåQ?
对于CLOB¾cÕdž‹çš„函敎ͼŒå¦‚æžœ˜q”回值长度超出,oracle不会˜q”回ä»ÖM½•错误而是直接抛出错误ã€?

1、LOWER(c) ž®†æŒ‡å®šå­—½W¦ä¸²å†…å­—½W¦å˜ä¸ºå°å†™ï¼Œæ”¯æŒCHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB,NCLOB¾cÕdž‹
    例如åQšSELECT LOWER('WhaT is tHis') FROM DUAL;

2、UPPER(c) ž®†æŒ‡å®šå­—½W¦ä¸²å†…å­—½W¦å˜ä¸ºå¤§å†™ï¼Œæ”¯æŒCHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB,NCLOB¾cÕdž‹
    例如åQšSELECT UPPER('WhaT is tHis') FROM DUAL;

3、LPAD(c1,n[,c2]) ˜q”回指定长度=n的字½W¦ä¸²åQŒéœ€è¦æ³¨æ„çš„æœ‰å‡ ç‚¹ï¼š
如果n<c1.length则从叛_ˆ°å·¦æˆªå–指定长度返回;
如果n>c1.length and c2 is nullåQŒä»¥½Iºæ ¼ä»Žå·¦å‘右补充字符长度至nòq¶è¿”回;
如果n>c1.length and c2 is not nullåQŒä»¥æŒ‡å®šå­—符c2从左向右补充c1长度至nòq¶è¿”回;
例如åQšSELECT LPAD('WhaT is tHis',5),LPAD('WhaT is tHis',25),LPAD('WhaT is tHis',25,'-') FROM DUAL;
最后大家再猜一猜,如果n<0åQŒç»“果会怎么æ ?

4、RPAD(c1,n[,c2]) ˜q”回指定长度=n的字½W¦ä¸²åQŒåŸºæœ¬ä¸Žä¸ŠåŒåQŒä¸˜q‡è¡¥å……å­—½W¦æ˜¯ä»Žå³å‘左方向正好与上相反åQ?
    例如åQšSELECT RPAD('WhaT is tHis',5),RPAD('WhaT is tHis',25),RPAD('WhaT is tHis',25,'-') FROM DUAL;

5、TRIM([[LEADING||TRAILING||BOTH] c2 FROM] c1) 哈哈åQŒè¢«ä¿ºæ— æ•Œçš„形容方式搞晕头了吧,˜q™ä¸ªåœ°æ–¹˜q˜æ˜¯çœ‹å›¾æ›´æ˜Žäº†ä¸€äº›ã€?
看è“v来很复杂åQŒç†è§£è“v来很½Ž€å•:
如果没有指定ä»ÖM½•参数则oracle去除c1头尾½Iºæ ¼
例如åQšSELECT TRIM(' WhaT is tHis ') FROM DUAL;
如果指定了c2参数åQŒåˆ™oracleåŽÀLމc1头尾c2(˜q™ä¸ªå»ø™®®¾l†è‡´‹¹‹è¯•åQŒæœ‰å¤šç§ä¸åŒæƒ…åŞ的哟)
例如åQšSELECT TRIM('W' FROM 'WhaT is tHis w W') FROM DUAL;
如果指定了leading参数则会åŽÀLމc1头部c2
例如åQšSELECT TRIM(leading 'W' FROM 'WhaT is tHis w W') FROM DUAL;
如果指定了trailing参数则会åŽÀLމc1ž®ùNƒ¨c2
例如åQšSELECT TRIM(trailing 'W' FROM 'WhaT is tHis w W') FROM DUAL;
如果指定了both参数则会åŽÀLމc1头尾c2(跟不指定有区别吗åQŸæ²¡åŒºåˆ«åQ?
例如åQšSELECT TRIM(both 'W' FROM 'WhaT is tHis w W') FROM DUAL;
注意åQšc2长度=1

6、LTRIM(c1[,c2]) 千万表以ä¸ÞZ¸Žä¸Šé¢é‚£ä¸ªé•¿çš„像,功能也与上面的类ä¼û|¼Œæœ¬å‡½æ•°æ˜¯ä»Žå­—½W¦ä¸²c1左侧截取掉与指定字符串c2相同的字½W¦åƈ˜q”回。如果c2为空则默认截取空根{€?
例如åQšSELECT LTRIM('WWhhhhhaT is tHis w W','Wh') FROM DUAL;

7、RTRIM(c1,c2)与上同,不过方向相反
    例如åQšSELECT RTRIM('WWhhhhhaT is tHis w W','W w') FROM DUAL;

8、REPLACE(c1,c2[,c3]) ž®†c1字符串中的c2替换为c3åQŒå¦‚æžœc3为空åQŒåˆ™ä»Žc1中删除所有c2ã€?
    例如åQšSELECT REPLACE('WWhhhhhaT is tHis w W','W','-') FROM DUAL;

9、SOUNDEX(c) ¼œžå¥‡çš„函数啊åQŒè¯¥å‡½æ•°˜q”回字符串参数的语音表示形式åQŒå¯¹äºŽæ¯”较一些读音相同,但是拼写不同的单词非常有用。计½Ž—语音的½Ž—法如下åQ?
保留字符串首字母åQŒä½†åˆ é™¤a、e、h、i、o、w、yã€?
ž®†ä¸‹è¡¨ä¸­çš„æ•°å­—赋¾l™ç›¸å¯¹åº”的字母:
1åQšb、f、p、v
2åQšc、g、k、q、s、x、z
3åQšd、t
4åQšl
5åQšm、n
6åQšR
如果字符串中存在拥有相同数字çš?个以上(包含2ä¸ªï¼‰çš„å­—æ¯åœ¨ä¸€èµøP¼ˆä¾‹å¦‚bå’ŒfåQ‰ï¼Œæˆ–者只有h或wåQŒåˆ™åˆ é™¤å…¶ä»–的,只保ç•?个;
只返回前4个字节,不够�填充
例如åQšSELECT SOUNDEX('dog'),soundex('boy') FROM DUAL;

10、SUBSTR(c1,n1[,n2]) 截取指定长度的字½W¦ä¸²ã€‚稍不注意就可能充满了陷é˜Þqš„函数ã€?
n1=开始长度;
n2=截取的字½W¦ä¸²é•¿åº¦åQŒå¦‚æžœäØ“½Iºï¼Œé»˜è®¤æˆªå–到字½W¦ä¸²¾l“å°¾åQ?
�如果n1=0 then n1=1
ï?如果n1>0åQŒåˆ™oracle从左向右¼‹®è®¤èµ·å§‹ä½ç½®æˆªå–
例如åQšSELECT SUBSTR('What is this',5,3) FROM DUAL;
ï?如果n1<0åQŒåˆ™oracle从右向左数确认è“v始位¾|?
例如åQšSELECT SUBSTR('What is this',-5,3) FROM DUAL;
�如果n1>c1.length则返回空
例如åQšSELECT SUBSTR('What is this',50,3) FROM DUAL;
然后再请你猜猜,如果n2<1åQŒä¼šå¦‚何˜q”回值呢

11ã€? TRANSLATE(c1,c2,c3) ž®±åŠŸèƒ½è€Œè¨€åQŒæ­¤å‡½æ•°ä¸Žreplaceæœ‰äº›ç›æ€¼¼ã€‚但需要注意的一ç‚ÒŽ˜¯åQŒtranslate是绝对匹配替换,˜q™ç‚¹ä¸Žreplace函数å…ähœ‰éžå¸¸å¤§åŒºåˆ«ã€‚什么是¾lå¯¹åŒšw…æ›¿æ¢å‘¢ï¼Ÿ½Ž€å•çš„è¯ß_¼Œæ˜¯å°†å­—符串c1中按一定的格式c2替换为c3。如果文字åŞ容仍然无法理解,我们通过几具实例来说明:
例如åQ?
SELECT TRANSLATE('What is this','','-') FROM DUAL;
SELECT TRANSLATE('What is this','-','') FROM DUAL;
¾l“果都是½Iºã€‚来试试˜q™ä¸ªåQ?
SELECT TRANSLATE('What is this',' ',' ') FROM DUAL;
再来看这个:
SELECT TRANSLATE('What is this','ait','-*') FROM DUAL;
是否明白了点呢?Replace函数理解比较½Ž€å•,它是ž®†å­—½W¦ä¸²ä¸­æŒ‡å®šå­—½W¦æ›¿æ¢æˆå…¶å®ƒå­—符åQŒå®ƒçš„å­—½W¦å¿…™åÀL˜¯˜qžç®‹çš„。而translate中,则是指定字符ä¸? c1中出现的c2åQŒå°†c2中各个字½W¦æ›¿æ¢æˆc3中位¾|®é¡ºåºä¸Žå…¶ç›¸åŒçš„c3中的字符。明白了åQŸReplace是替换,而translate则像是过æ»?/p>

(�.字符型函数返回数字�Character Functions Returning Number Values)
本类函数支持所有的数据¾cÕdž‹

1、INSTR(c1,c2[,n1[,n2]]) ˜q”回c2在c1中位¾|?
c1:原字½W¦ä¸²
c2:要寻扄¡š„字符ä¸?
n1:查询起始位置åQŒæ­£å€ÆD¡¨½CÞZ»Žå·¦åˆ°å»I¼Œè´Ÿå€ÆD¡¨½CÞZ»Žå›_ˆ°å·?(大小表示位置,比如3表示左面½W?处开å§?-3表示右面½W?处开å§?。黑黑,如果ä¸?的话åQŒåˆ™˜q”回的也æ˜?
n2:½W¬å‡ ä¸ªåŒ¹é…é¡¹ã€‚大äº?
例如åQšSELECT INSTR('abcdefg','e',-3) FROM DUAL;

2、LENGTH(c) ˜q”回指定字符串的长度。如æž?
例如åQšSELECT LENGTH('A123ä¸?) FROM DUAL;
猜猜SELECT LENGTH('') FROM DUAL;的返回值是什�

(�.日期函数(Datetime Functions)
本类函数中,除months_between˜q”回数值外åQŒå…¶å®ƒéƒ½ž®†è¿”回日期ã€?

1、ADD_MONTHS() ˜q”回指定日期月䆾+n之后的å€û|¼Œn可以ä¸ÞZ“Q何整数ã€?
例如åQšSELECT ADD_MONTHS(sysdate,12),ADD_MONTHS(sysdate,-12) FROM DUAL;

2、CURRENT_DATE ˜q”回当前session所在时区的默认旉™—´
例如åQ?
SQL> alter session set nls_date_format = 'mm-dd-yyyy' ;
SQL> select current_date from dual;

3ã€? SYSDATE 功能与上相同åQŒè¿”回当前session所在时区的默认旉™—´ã€‚但是需要注意的一ç‚ÒŽ˜¯åQŒå¦‚果同时ä‹É用sysdate与current_date获得的时间不一 定相同,某些情况下current_date会比sysdate快一¿U’。经˜q‡ä¸Žxyf_tck(兄台的大作ORACLE的工作机制写的很好,深入‹¹…出)çš? 短暂交流åQŒæˆ‘们认为current_date是将current_timestamp中毫¿U’四舍五入后的返回,虽然没有扑ֈ°æ–‡æ¡£æ”¯æŒåQŒä½†æ˜¯æƒ³æ¥åº”该八九不 ¼›Õdã€‚同æ—Óž¼Œä»…是某些情况下会有一¿U’的误差åQŒä¸€èˆ¬æƒ…况下òq¶ä¸ä¼šå¯¹ä½ çš„æ“ä½œé€ æˆå½±å“åQŒæ‰€ä»¥äº†è§£å³å¯ã€?
例如åQšSELECT SYSDATE,CURRENT_DATE FROM DUAL;

4、LAST_DAY(d) ˜q”回指定旉™—´æ‰€åœ¨æœˆçš„æœ€åŽä¸€å¤?
例如åQšSELECT last_day(SYSDATE) FROM DUAL;

5、NEXT_DAY(d,n) ˜q”回指定日期后第一个n的日期,nä¸ÞZ¸€å‘¨ä¸­çš„æŸä¸€å¤©ã€‚但是,需要注意的是n如果为字½W¦çš„话,它的星期形式需要与当前session默认时区中的星期形式相同ã€?
例如åQšä¸‰æ€ç”¨çš„中文ntåQŒnls_languageå€égØ“SIMPLIFIED CHINESE
SELECT NEXT_DAY(SYSDATE,5) FROM DUAL;
SELECT NEXT_DAY(SYSDATE,'星期�) FROM DUAL;
两种方式都可以取到正¼‹®çš„˜q”回åQŒä½†æ˜¯ï¼š
SELECT NEXT_DAY(SYSDATE,'Thursday') FROM DUAL;
则会执行出错åQŒæä¾›ä½ è¯´å‘¨ä¸­çš„æ—¥æ— æ•ˆï¼Œž®±æ˜¯˜q™ä¸ªåŽŸå› äº†ã€?

6、MONTHS_BETWEEN(d1,d2) ˜q”回d1与d2间的月䆾差,视d1,d2的值大ž®ï¼Œ¾l“果可正可负åQŒå½“ç„¶ä¹Ÿæœ‰å¯èƒ½äØ“0
例如åQ?
SELECT months_between(SYSDATE, sysdate),
months_between(SYSDATE, add_months(sysdate, -1)),
months_between(SYSDATE, add_months(sysdate, 1))
FROM DUAL;

7、ROUND(d[,fmt]) 前面讲数值型函数的时候介¾lè¿‡ROUNDåQŒæ­¤å¤„与上功能基本相ä¼û|¼Œä¸è¿‡æ­¤å¤„操作的是日期。如果不指定fmt参数åQŒåˆ™é»˜è®¤˜q”回距离指定日期最˜q‘的日期ã€?
例如åQšSELECT ROUND(SYSDATE,'HH24') FROM DUAL;

8、TRUNC(d[,fmt]) 与前面介¾lçš„æ•°å€¼åž‹TRUNC原理相同åQŒä¸˜q‡æ­¤å¤„也是操作的日期型ã€?
例如åQšSELECT TRUNC(SYSDATE,'HH24') FROM DUAL;

(�.转换函数(Conversion Functions)
转换函数ž®†æŒ‡å®šå­—½W¦ä»Žä¸€¿Uç±»åž‹è{æ¢äØ“å¦ä¸€¿Uï¼Œé€šå¸¸˜q™ç±»å‡½æ•°éµåó@如下惯例åQšå‡½æ•°å¿U°åŽé¢è·Ÿç€å¾…è{换类型以及输出类型ã€?

1、TO_CHAR() 本函数又可以分三ž®ç±»åQŒåˆ†åˆ«æ˜¯
转换字符->字符TO_CHAR(c)åQšå°†nchar,nvarchar2,clob,nclob¾cÕdž‹è½¬æ¢ä¸ºchar¾cÕdž‹åQ?
例如åQšSELECT TO_CHAR('AABBCC') FROM DUAL;

转换旉™—´->字符TO_CHAR(d[,fmt])åQšå°†æŒ‡å®šçš„æ—¶é—?data,timestamp,timestamp with time zone)按照指定格式转换为varchar2¾cÕdž‹åQ?
例如åQšSELECT TO_CHAR(sysdate,'yyyy-mm-dd hh24:mi:ss') FROM DUAL;

转换数å€?>字符TO_CHAR(n[,fmt])åQšå°†æŒ‡å®šæ•°å€¼n按照指定格式fmt转换为varchar2¾cÕdž‹òq¶è¿”回;
例如åQšSELECT TO_CHAR(-100, 'L99G999D99MI') FROM DUAL;

2ã€? TO_DATE(c[,fmt[,nls]]) ž®†char,nchar,varchar2,nvarchar2转换为日期类型,如果fmtå‚æ•°ä¸äØ“½Iºï¼Œåˆ™æŒ‰ç…§fmt中指定格式进行è{换。注意这里的 fmt参数。如果ftmä¸?J'则表½CºæŒ‰ç…§å…¬å…ƒåˆ¶(Julian day)转换åQŒc则必™åÖMؓ大于0òq¶å°äº?373484的正整数ã€?
例如åQ?
SELECT TO_DATE(2454336, 'J') FROM DUAL;
SELECT TO_DATE('2007-8-23 23:25:00', 'yyyy-mm-dd hh24:mi:ss') FROM DUAL;

ä¸ÞZ»€ä¹ˆå…¬å…ƒåˆ¶çš„话åQŒc的值必™åÖM¸å¤§äºŽ5373484å‘¢ï¼Ÿå› äØ“Oracleçš„DATE¾cÕdž‹çš„å–å€ÆDŒƒå›´æ˜¯å…¬å…ƒå‰?712òq?æœ?日至公元9999òq?2æœ?1日。看看下面这个语句:
SELECT TO_CHAR(TO_DATE('9999-12-31','yyyy-mm-dd'),'j') FROM DUAL;

3、TO_NUMBER(c[,fmt[,nls]]) ž®†char,nchar,varchar2,nvarchar2型字串按照fmt中指定格式è{æ¢äØ“æ•°å€¼ç±»åž‹åÆˆ˜q”回ã€?
例如åQšSELECT TO_NUMBER('-100.00', '9G999D99') FROM DUAL;

(�.其它辅助函数(Miscellaneous Single-Row Functions)

1、DECODE(exp,s1,r1,s2,r2..s,r[,def]) 可以把它理解成一个增强型的if elseåQŒåªä¸è¿‡å®ƒåƈ不通过多行语句åQŒè€Œæ˜¯åœ¨ä¸€ä¸ªå‡½æ•°å†…实现if else的功能ã€?
expåšäØ“åˆå§‹å‚æ•°ã€‚såšäØ“å¯Òޝ”å€û|¼Œç›¸åŒåˆ™è¿”回råQŒå¦‚æžœs有多个,则持¾l­éåŽ†æ‰€æœ‰såQŒç›´åˆ°æŸä¸ªæ¡ä»¶äØ“çœŸäØ“æ­¢ï¼Œå¦åˆ™˜q”回默认值def(如果指定了的è¯?åQŒå¦‚果没有默认å€û|¼Œòq¶ä¸”å‰é¢çš„å¯¹æ¯”ä¹Ÿéƒ½æ²¡æœ‰äØ“çœŸï¼Œåˆ™è¿”å›žç©ºã€?
毫无疑问åQŒdecode是个非常重要的函敎ͼŒåœ¨å®žçŽ°è¡Œè½¬åˆ—½{‰åŠŸèƒ½æ—¶éƒ½ä¼šç”¨åˆ°åQŒéœ€è¦ç‰¢è®°å’Œç†Ÿç»ƒä½¿ç”¨ã€?

例如åQšselect decode('a2','a1','true1','a2','true2','default') from dual;

2、GREATEST(n1,n2,...n) ˜q”回序列中的最大å€?
例如åQšSELECT GREATEST(15,5,75,8) "Greatest" FROM DUAL;

3、LEAST(n1,n2....n) ˜q”回序列中的最ž®å€?
例如åQšSELECT LEAST(15,5,75,8) LEAST FROM DUAL;

4、NULLIF(c1,c2)
Nullif也是个很有意思的函数。逻辑½{‰ä­h于:CASE WHEN c1 = c2 THEN NULL ELSE c1 END
例如åQšSELECT NULLIF('a','b'),NULLIF('a','a') FROM DUAL;

5、NVL(c1,c2) 逻辑½{‰ä­h于IF c1 is null THEN c2 ELSE c1 END。c1,c2可以是ä“Q何类型。如果两者类型不同,则oracle会自动将c2转换为c1的类型ã€?
例如åQšSELECT NVL(null, '12') FROM DUAL;

6、NVL2(c1,c2,c3) 大家可能都用到nvlåQŒä½†ä½ ç”¨˜q‡nvl2吗?如果c1非空则返回c2,如果c1为空则返回c3
例如åQšselect nvl2('a', 'b', 'c') isNull,nvl2(null, 'b', 'c') isNotNull from dual;

7、SYS_CONNECT_BY_PATH(col,c) 该函数只能应用于树状查询。返回通过c1˜qžæŽ¥çš„从根到节点的èµ\径。该函数必须与connect by 子句共同使用ã€?
例如åQ?
create table tmp3(
rootcol varchar2(10),
nodecol varchar2(10)
);

insert into tmp3 values ('','a001');
insert into tmp3 values ('','b001');
insert into tmp3 values ('a001','a002');
insert into tmp3 values ('a002','a004');
insert into tmp3 values ('a001','a003');
insert into tmp3 values ('a003','a005');
insert into tmp3 values ('a005','a008');
insert into tmp3 values ('b001','b003');
insert into tmp3 values ('b003','b005');

select lpad(' ', level*10,'=') ||'>'|| sys_connect_by_path(nodecol,'/')
from tmp3
start with rootcol = 'a001'
connect by prior nodecol =rootcol;

8、SYS_CONTEXT(c1,c2[,n]) ž®†æŒ‡å®šå‘½åç©ºé—´c1的指定参数c2的值按照指定长度n截取后返回ã€?
Oracle9i提供内置了一个命名空间USERENVåQŒæ˜qîCº†å½“前session的各™å¹ä¿¡æ¯ï¼Œå…¶æ‹¥æœ‰ä¸‹åˆ—参敎ͼš
�CURRENT_SCHEMA:当前模式名;
ï?CURRENT_USER:当前用户åQ?
ï?IP_ADDRESS:当前客户端IP地址åQ?
ï?OS_USER:当前客户ç«?a title="操作¾pȝ»Ÿ" target="_blank" style="color: #000000;">操作¾pȝ»Ÿç”¨æˆ·åQ?
½{‰ç­‰æ•°å™å¹ï¼Œæ›´è¯¦¾l†çš„参数列还请大家直接参考Oracle Online Documents

例如åQšSELECT SYS_CONTEXT('USERENV', 'SESSION_USER') FROM DUAL;
注:N表示数字型,C表示字符型,D表示日期型,[]表示内中参数可被忽略åQŒfmt表示格式ã€?

单值函数在查询中返回单个å€û|¼Œå¯è¢«åº”用到selectåQŒwhere子句åQŒstart with以及connect by 子句和having子句ã€?
(一).数值型函数(Number Functions)
æ•? å€¼åž‹å‡½æ•°è¾“å…¥æ•°å­—åž‹å‚æ•°åÆˆ˜q”回数值型的倹{€‚多数该¾cÕd‡½æ•°çš„˜q”回值支æŒ?8位小数点åQŒè¯¸å¦‚:COS, COSH, EXP, LN, LOG, SIN, SINH, SQRT, TAN, and TANH 支持36位小数点。ACOS, ASIN, ATAN, and ATAN2支持30位小数点ã€?

1、ABS(n) ˜q”回数字的绝对å€?
例如åQšSELECT ABS(-1000000.01) FROM DUAL;

2、COS(n) ˜q”回n的余弦å€?
例如åQšSELECT COS(-2) FROM DUAL;

3、ACOS(n) 反余弦函敎ͼŒn between -1 and 1åQŒè¿”回值between 0 and piã€?
例如åQšSELECT ACOS(0.9) FROM DUAL;

4、BITAND(n1,n2) 位与˜qç®—åQŒè¿™ä¸ªå¤ªæœ‰æ„æ€äº†åQŒè™½ç„¶æ²¡æƒ›_ˆ°å¯èƒ½ç”¨åˆ°å“ªé‡ŒåQŒè¯¦¾l†è¯´æ˜Žä¸€ä¸‹ï¼š
假设3,9做位与运½Ž—,3的二˜q›åˆ¶å½¢å¼ä¸ºï¼š0011åQ?的二˜q›åˆ¶å½¢å¼ä¸ºï¼š1001åQŒåˆ™¾l“æžœæ˜?001åQŒè{换成10˜q›åˆ¶æ•îCØ“1ã€?
例如åQšSELECT BITAND(3,9) FROM DUAL;

5、CEIL(n) ˜q”回大于或等于n的最ž®çš„æ•´æ•°å€?
例如åQšSELECT ceil(18.2) FROM DUAL;
考你一下,猜猜ceil(-18.2)çš„å€ég¼šæ˜¯ä»€ä¹ˆå‘¢

6、FLOOR(n) ˜q”回ž®äºŽ½{‰äºŽn的最大整数å€?
例如åQšSELECT FLOOR(2.2) FROM DUAL;
再猜猜floor(-2.2)çš„å€ég¼šæ˜¯ä»€ä¹ˆå‘¢

7、BIN_TO_NUM(n1,n2,....n) 二进制è{向十˜q›åˆ¶
例如åQšSELECT BIN_TO_NUM(1),BIN_TO_NUM(1,0),BIN_TO_NUM(1,1) FROM DUAL;

8、SIN(n) ˜q”回n的正玄å€?n为弧度ã€?
例如åQšSELECT SIN(10) FROM DUAL;

9、SINH(n) ˜q”回n的双曲正玄å€?n为弧度ã€?
例如åQšSELECT SINH(10) FROM DUAL;

10、ASIN(n) 反正玄函敎ͼŒn between -1 and 1åQŒè¿”回值between pi/2 and -pi/2ã€?
例如åQšSELECT ASIN(0.8) FROM DUAL;

11、TAN(n) ˜q”回n的正切å€?n为弧åº?
例如åQšSELECT TAN(0.8) FROM DUAL;

12、TANH(n) ˜q”回n的双曲正切å€?n为弧åº?
例如åQšSELECT TANH(0.8) FROM DUAL;

13、ATAN(n) 反正切函敎ͼŒn表示弧度åQŒè¿”回值between pi/2 and -pi/2ã€?
例如åQšSELECT ATAN(-444444.9999999) FROM DUAL;

14、EXP(n) ˜q”回eçš„n‹Æ¡å¹‚åQŒe = 2.71828183 ...
例如åQšSELECT EXP(3) FROM DUAL;

15、LN(n) ˜q”回n的自然对敎ͼŒn>0
例如åQšSELECT LN(0.9) FROM DUAL;

16、LOG(n1,n2) ˜q”回以n1为底n2的对敎ͼŒn1 >0 and not 1 åQŒn2>0
例如åQšSELECT LOG(1.1,2.2) FROM DUAL;

17、POWER(n1,n2) ˜q”回n1çš„n2‹Æ¡æ–¹ã€‚n1,n2可以ä¸ÞZ“Q意数å€û|¼Œä¸è¿‡å¦‚æžœm是负敎ͼŒåˆ™n必须为整æ•?
例如åQšSELECT POWER(2.2,2.2) FROM DUAL;

18、SIGN(n) 如果n<0˜q”回-1,如果n>0˜q”回1åQŒå¦‚æžœn=0˜q”回0.
例如åQšSELECT SIGN(14),SIGN(-14),SIGN(0) FROM DUAL;

19、SQRT(n) ˜q”回nçš„åã^æ–ÒŽ ¹,n为弧度。n>=0
例如åQšSELECT SQRT(0.1) FROM DUAL;

(äº?.字符型函数返回字½W¦å€?Character Functions Returning Character Values)
该类函数˜q”回与输入类型相同的¾cÕdž‹ã€?
ï?˜q”回的CHAR¾cÕdž‹å€¼é•¿åº¦ä¸­‘…过2000字节åQ?
ï?˜q”回的VCHAR2¾cÕdž‹å€¼é•¿åº¦ä¸­‘…过4000字节åQ?
如果上述应返回的字符长度­‘…出åQŒoracleòq¶ä¸ä¼šæŠ¥é”™è€Œæ˜¯ç›´æŽ¥æˆªæ–­è‡Ïxœ€å¤§å¯æ”¯æŒé•¿åº¦˜q”回ã€?

ï?˜q”回的CLOB¾cÕdž‹å€¼é•¿åº¦ä¸­‘…过4GåQ?
对于CLOB¾cÕdž‹çš„函敎ͼŒå¦‚æžœ˜q”回值长度超出,oracle不会˜q”回ä»ÖM½•错误而是直接抛出错误ã€?

1、CHR(N[ USING NCHAR_CS]) ˜q”回指定数值在当前字符集中对应的字½W?
例如åQšSELECT CHR(95) FROM DUAL;

2、CONCAT(c1,c2) ˜qžæŽ¥å­—符ä¸ÔŒ¼Œ½{‰åŒäºŽ||
例如åQšSELECT concat('aa','bb') FROM DUAL;

3、INITCAP(c) ž®†å­—½W¦ä¸²ä¸­å•词的½W¬ä¸€ä¸ªå­—母è{æ¢äØ“å¤§å†™åQŒå…¶å®ƒåˆ™è½¬æ¢ä¸ºå°å†?
例如åQšSELECT INITCAP('whaT is this') FROM DUAL;

4、NLS_INITCAP(c) ˜q”回指定字符ä¸ÔŒ¼Œòq¶å°†å­—符串中½W¬ä¸€ä¸ªå­—母变大写åQŒå…¶å®ƒå­—母变ž®å†™
例如åQšSELECT NLS_INITCAP('中华miNZHu') FROM DUAL;
它还å…ähœ‰ä¸€ä¸ªå‚敎ͼšNlsparam用来指定排序规则åQŒå¯ä»¥å¿½ç•¥ï¼Œé»˜è®¤çŠ¶æ€è¯¥å‚æ•°ä¸ºå½“å‰session的排序规则ã€?

(�.字符型函数返回数字�Character Functions Returning Number Values)
本类函数支持所有的数据¾cÕdž‹
1、ASCII(c) 与chr函数的用途刚刚相反,本函数返回指定字½W¦åœ¨å½“前字符集下对应的数倹{€?
例如åQšSELECT ASCII('_') FROM DUAL;

(�.日期函数(Datetime Functions)
本类函数中,除months_between˜q”回数值外åQŒå…¶å®ƒéƒ½ž®†è¿”回日期ã€?
1、CURRENT_TIMESTAMP([n]) ˜q”回当前session所在时区的日期和时间。n表示毫秒¾U§çš„¾_‘Öº¦åQŒä¸å¤§äºŽ6
例如åQšSELECT CURRENT_TIMESTAMP(3) FROM DUAL;

2、LOCALTIMESTAMP([n]) 与上同,˜q”回当前session所在时区的日期和时间。n表示毫秒¾U§çš„¾_‘Öº¦åQŒä¸å¤§äºŽ6
例如åQšSELECT LOCALTIMESTAMP(3) FROM DUAL;

3、SYSTIMESTAMP([n]) 与上同,˜q”回当前数据库所在时区的日期和时é—ß_¼Œn表示毫秒¾U§çš„¾_‘Öº¦åQ?gt;0 and <6
例如åQšSELECT SYSTIMESTAMP(4) FROM DUAL;

4、DBTIMEZONE ˜q”回数据库的当前时区
例如åQšSELECT DBTIMEZONE FROM DUAL;

5、SESSIONTIMEZONE ˜q”回当前session所在时åŒ?
例如åQšSELECT SESSIONTIMEZONE FROM DUAL;

6、EXTRACT(key from date) key=(year,month,day,hour,minute,second) 从指定时间提到指定日期列
例如åQšSELECT EXTRACT(year from sysdate) FROM DUAL;

7、TO_TIMESTAMP(c1[,fmt]) ž®†æŒ‡å®šå­—½W¦æŒ‰æŒ‡å®šæ ¼å¼è½¬æ¢ä¸ºtimestamp格式ã€?
例如åQšSELECT TO_TIMESTAMP('2007-8-22', 'YYYY-MM-DD HH:MI:SS') FROM DUAL;

(�.转换函数(Conversion Functions)
转换函数ž®†æŒ‡å®šå­—½W¦ä»Žä¸€¿Uç±»åž‹è{æ¢äØ“å¦ä¸€¿Uï¼Œé€šå¸¸˜q™ç±»å‡½æ•°éµåó@如下惯例åQšå‡½æ•°å¿U°åŽé¢è·Ÿç€å¾…è{换类型以及输出类型ã€?

1、BIN_TO_NUM(n1,n2...n) ž®†ä¸€¾l„位向量转换为等ä»ïLš„十进制åŞ式ã€?
例如åQšSELECT BIN_TO_NUM(1,1,0) FROM DUAL;

2、CAST(c as newtype) ž®†æŒ‡å®šå­—串è{æ¢äØ“æŒ‡å®š¾cÕdž‹åQŒåŸºæœ¬åªå¯¹å­—½W¦ç±»åž‹æœ‰æ•ˆï¼Œæ¯”如char,number,date,rowid½{‰ã€‚æ­¤¾c»è{换有一个专门的表列明了哪种¾cÕdž‹å¯ä»¥è½¬æ¢ä¸ºå“ª¿Uç±»åž‹ï¼Œæ­¤å¤„ž®×ƒ¸ä½œé…¹˜q°ã€?
例如åQšSELECT CAST('1101' AS NUMBER(5)) FROM DUAL;

3、CHARTOROWID(c) ž®†å­—½W¦ä¸²è½¬æ¢ä¸ºrowid¾cÕdž‹
例如åQšSELECT CHARTOROWID('A003D1ABBEFAABSAA0') FROM DUAL;

4、ROWIDTOCHAR(rowid) 转换rowidå€égØ“varchar2¾cÕdž‹ã€‚返回串长度ä¸?8个字节ã€?
例如åQšSELECT ROWIDTOCHAR(rowid) FROM DUAL;

5、TO_MULTI_BYTE(c) ž®†æŒ‡å®šå­—½W¦è{æ¢äØ“å…¨è§’òq¶è¿”回char¾cÕdž‹å­—串
例如åQšSELECT TO_MULTI_BYTE('ABC abc 中华') FROM DUAL;

6、TO_SINGLE_BYTE(c) ž®†æŒ‡å®šå­—½W¦è{æ¢äØ“åŠè§’òq¶è¿”回char¾cÕdž‹å­—串
例如åQšSELECT TO_SINGLE_BYTE('åQ¡ïð‡åQ£ã€€ï½ï½‚c中å?) FROM DUAL;

(�.其它辅助函数(Miscellaneous Single-Row Functions)
1、COALESCE(n1,n2,....n) ˜q”回序列中的½W¬ä¸€ä¸ªéž½Iºå€?
例如åQšSELECT COALESCE(null,5,6,null,9) FROM DUAL;

2、DUMP(exp[,fmt[,start[,length]]])
    dump是个功能非常强悍的函敎ͼŒå¯¹äºŽæ·±å…¥äº†è§£oracle存储的ähè€Œè¨€ç›¸å½“æœ‰ç”¨ã€‚æ‰€ä»¥å¯¹äºŽæˆ‘ä»¬è¿™äº›ä»…ä»…åªæ˜¯åº”ç”¨çš„äºø™€Œè¨€ž®×ƒ¸çŸ¥é“能将其应用于何处了。此处仅介绍用法åQŒä¸å¯¹å…¶åŠŸèƒ½åšæ·±å…¥åˆ†æžã€?br />
    如上所½Cºï¼Œdump拥有不少参数。其本质是以指定格式åQŒè¿”回指定长度的exp的内部表½CºåŞ式的varchar2倹{€‚fmtå?¿Uæ ¼ 式:8||10||16||17åQŒåˆ†åˆ«è¡¨½C?˜q›åˆ¶åQ?0˜q›åˆ¶åQ?6˜q›åˆ¶å’Œå•字符åQŒé»˜è®¤äØ“10˜q›åˆ¶ã€‚start参数表示开始位¾|®ï¼Œlength表示ä»?分隔 的字串数ã€?
例如åQšSELECT DUMP('abcdefg',17,2,4) FROM DUAL;

3、EMPTY_BLOB,EMPTY_CLOB ˜q™ä¸¤ä¸ªå‡½æ•°éƒ½æ˜¯è¿”回空lob¾cÕdž‹åQŒé€šå¸¸è¢«ç”¨äºŽinsertå’Œupdate½{‰è¯­å¥ä»¥åˆå§‹åŒ–lob列,或者将其置为空。EMPTY表示LOB已经被初始化åQŒåªä¸è¿‡˜q˜æ²¡æœ‰ç”¨æ¥å­˜å‚¨æ•°æ®ã€?

4、NLS_CHARSET_NAME(n) ˜q”回指定数值对应的字符集名¿U°ã€?
例如åQšSELECT NLS_CHARSET_NAME(1) FROM DUAL;

5、NLS_CHARSET_ID(c) ˜q”回指定字符对应的字½W¦é›†idã€?
例如åQšSELECT NLS_CHARSET_ID('US7ASCII') FROM DUAL;

6、NLS_CHARSET_DECL_LEN(n1,n2) ˜q”回一个NCHAR值的声明宽度(以字½W¦äؓ单位).n1是该å€ég»¥å­—节为单位的长度åQŒn2是该值的字符集ID
例如åQšSELECT NLS_CHARSET_DECL_LEN(100, nls_charset_id('US7ASCII')) FROM DUAL;

7、SYS_EXTRACT_UTC(timestamp) ˜q”回标准通用旉™—´åÏx ¼æž—威æ²ÀL—¶é—´ã€?
例如åQšSELECT SYS_EXTRACT_UTC(current_timestamp) FROM DUAL;

8、SYS_TYPEID(object_type) ˜q”回对象¾cÕdž‹å¯¹åº”çš„idã€?
例如åQšè¿™ä¸ªè¿™ä¸ªï¼Œæ²¡æœ‰å»ºç«‹˜q‡è‡ªå®šä¹‰å¯¹è±¡åQŒå’‹åšç¤ºä¾‹ï¼Ÿ

9、UID ˜q”回一个唯一标识当前数据库用æˆïLš„æ•´æ•°ã€?
例如åQšSELECT UID FROM DUAL;

10、USER ˜q”回当前session用户
例如åQšSELECT USER FROM DUAL;

11、USERENV(c) 该函数用来返回当前session的信息,据oracle文档的说明,userenvæ˜¯äØ“äº†ä¿æŒå‘ä¸‹å…¼å®¹çš„é—ç•™å‡½æ•°ã€‚oracle公司推荐你ä‹É用sys_context函数调用USERENV命名½Iºé—´æ¥èŽ·å–ç›¸å…³ä¿¡æ¯ï¼Œæ‰€ä»¥å¤§å®¶äº†è§£ä¸‹ž®Þp¡Œäº†ã€?
例如åQšSELECT USERENV('LANGUAGE') FROM DUAL;

12、VSIZE(c) ˜q”回c的字节数ã€?
例如åQšSELECT VSIZE('abc中华') FROM DUAL;




轧钢王子 2008-12-14 20:12 发表评论
]]>
literal does not match format stringhttp://www.aygfsteel.com/haiing/archive/2008/12/14/246261.html轧钢王子轧钢王子Sun, 14 Dec 2008 11:44:00 GMThttp://www.aygfsteel.com/haiing/archive/2008/12/14/246261.htmlhttp://www.aygfsteel.com/haiing/comments/246261.htmlhttp://www.aygfsteel.com/haiing/archive/2008/12/14/246261.html#Feedback0http://www.aygfsteel.com/haiing/comments/commentRss/246261.htmlhttp://www.aygfsteel.com/haiing/services/trackbacks/246261.html

轧钢王子 2008-12-14 19:44 发表评论
]]>
攉™›†çš„关于ERP论坛的站ç‚?/title><link>http://www.aygfsteel.com/haiing/archive/2008/12/14/246260.html</link><dc:creator>轧钢王子</dc:creator><author>轧钢王子</author><pubDate>Sun, 14 Dec 2008 11:40:00 GMT</pubDate><guid>http://www.aygfsteel.com/haiing/archive/2008/12/14/246260.html</guid><wfw:comment>http://www.aygfsteel.com/haiing/comments/246260.html</wfw:comment><comments>http://www.aygfsteel.com/haiing/archive/2008/12/14/246260.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/haiing/comments/commentRss/246260.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/haiing/services/trackbacks/246260.html</trackback:ping><description><![CDATA[<font style="font-size: 12px;">攉™›†çš„关于ERP论坛的站炏V€? <table style="width: 98%;" cellspacing="0"> <tbody> <tr> <td>序号</td> <td>名称</td> <td>站点</td> <td>说明</td> </tr> <tr> <td>1</td> <td>trypub.com技术论å?/td> <td><a target="_blank"><font color="#800080">http://www.trypub.com</font></a></td> <td><br /> </td> </tr> <tr> <td>2</td> <td>中国oracle用户讨论¾l?/td> <td><a target="_blank"><font color="#0000ff">http://www.oracle.com.cn</font></a></td> <td><br /> </td> </tr> <tr> <td>3</td> <td><strong><font color="red">erp100.COM ERP论坛</font></strong></td> <td><a target="_blank"><strong><font color="red">http://bbs.erp100.com</font></strong></a></td> <td><br /> </td> </tr> <tr> <td>4</td> <td><strong>Oracle Developer 论坛</strong></td> <td><a target="_blank"><font color="#0000ff">http://www.oradev.net</font></a></td> <td>开发类性质的论å?/td> </tr> <tr> <td>5</td> <td>¿U‹æ¯«ERP咨询</td> <td><a target="_blank"><font color="#0000ff">http://www.qiuhao.com</font></a></td> <td><br /> </td> </tr> <tr> <td>6</td> <td>中国ERP大全</td> <td><a target="_blank"><font color="#0000ff">http://www.erpxp.com/bbs</font></a></td> <td><br /> </td> </tr> <tr> <td>7</td> <td>ERP信息¾|‘论å?/td> <td><a target="_blank"><font color="#0000ff">http://www.erp001.com/bbs/</font></a></td> <td><br /> </td> </tr> <tr> <td>8</td> <td>itpub.net</td> <td><a target="_blank"><font color="#800080">http://www.itpub.net</font></a></td> <td><br /> </td> </tr> <tr> <td>9</td> <td>SAP & Oracle论坛</td> <td><a target="_blank"><font color="#0000ff">http://www.shcon.com.cn</font></a></td> <td><br /> </td> </tr> <tr> <td>10</td> <td>erp在中å›?/td> <td><a target="_blank"><font color="#0000ff">http://www.erpcn.net</font></a></td> <td><br /> </td> </tr> <tr> <td>11</td> <td>中国ERP知识åº?/td> <td><a target="_blank"><font color="#0000ff">http://www.erpkm.com</font></a></td> <td><br /> </td> </tr> <tr> <td>12</td> <td>上æ“v鸿略计算机有限公å?/td> <td><a target="_blank"><font color="#0000ff">http://www.wisdom-universe.com</font></a></td> <td><br /> </td> </tr> <tr> <td>13</td> <td>Oracle原创技术论å?/td> <td><a target="_blank"><font color="#0000ff">http://www.oraclebbs.com</font></a></td> <td><br /> </td> </tr> <tr> <td>14</td> <td>åQ©ï¼´¾_¾è‹±è®ºå›</td> <td><a target="_blank"><font color="#0000ff">http://www.witef.com</font></a></td> <td><br /> </td> </tr> <tr> <td>15 </td> <td>SOLARIS+ORACLE+ERP  </td> <td><a target="_blank"><font color="#0000ff">http://bbs.chinaunix.net</font></a></td> </tr> </tbody> </table> </font> <img src ="http://www.aygfsteel.com/haiing/aggbug/246260.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/haiing/" target="_blank">轧钢王子</a> 2008-12-14 19:40 <a href="http://www.aygfsteel.com/haiing/archive/2008/12/14/246260.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle数据库中nullçš„ä‹É用详è§?/title><link>http://www.aygfsteel.com/haiing/archive/2008/12/14/246257.html</link><dc:creator>轧钢王子</dc:creator><author>轧钢王子</author><pubDate>Sun, 14 Dec 2008 11:35:00 GMT</pubDate><guid>http://www.aygfsteel.com/haiing/archive/2008/12/14/246257.html</guid><wfw:comment>http://www.aygfsteel.com/haiing/comments/246257.html</wfw:comment><comments>http://www.aygfsteel.com/haiing/archive/2008/12/14/246257.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/haiing/comments/commentRss/246257.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/haiing/services/trackbacks/246257.html</trackback:ping><description><![CDATA[     摘要: Oracle中的NULL既是一个难点也是一个重点,如何理解它,以及如何处理它,都关¾pÕdˆ°æˆ‘们查询¾l“果的正¼‹®æ€§ã€?nbsp; <a href='http://www.aygfsteel.com/haiing/archive/2008/12/14/246257.html'>阅读全文</a><img src ="http://www.aygfsteel.com/haiing/aggbug/246257.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/haiing/" target="_blank">轧钢王子</a> 2008-12-14 19:35 <a href="http://www.aygfsteel.com/haiing/archive/2008/12/14/246257.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle中Decode()函数 使用技å·?/title><link>http://www.aygfsteel.com/haiing/archive/2008/12/09/245334.html</link><dc:creator>轧钢王子</dc:creator><author>轧钢王子</author><pubDate>Tue, 09 Dec 2008 13:06:00 GMT</pubDate><guid>http://www.aygfsteel.com/haiing/archive/2008/12/09/245334.html</guid><wfw:comment>http://www.aygfsteel.com/haiing/comments/245334.html</wfw:comment><comments>http://www.aygfsteel.com/haiing/archive/2008/12/09/245334.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/haiing/comments/commentRss/245334.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/haiing/services/trackbacks/245334.html</trackback:ping><description><![CDATA[<span style="font-size: 14pt;"><span style="font-family: 宋体;">decode(条äšg,å€?,¾˜»è¯‘å€?,å€?,¾˜»è¯‘å€?,...值n,¾˜»è¯‘值n,¾~ºçœå€?<br /> 该函数的含义如下åQ?br /> IF 条äšg=å€? THEN<br /> RETURN(¾˜»è¯‘å€?)<br /> ELSIF 条äšg=å€? THEN<br /> RETURN(¾˜»è¯‘å€?)<br /> ......<br /> ELSIF 条äšg=值n THEN<br /> RETURN(¾˜»è¯‘值n)<br /> ELSE<br /> RETURN(¾~ºçœå€?<br /> END IF<br /> · 使用æ–ÒŽ³•åQ?br /> 1、比较大ž®?br /> select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较ž®å€?br /> sign()函数æ ÒŽ®æŸä¸ªå€¼æ˜¯0、正数还是负敎ͼŒåˆ†åˆ«˜q”回0ã€?ã€?1<br /> 例如åQ?br /> 变量1=10åQŒå˜é‡?=20<br /> 则sign(变量1-变量2)˜q”回-1åQŒdecode解码¾l“æžœä¸?#8220;变量1”åQŒè¾¾åˆîCº†å–较ž®å€¼çš„目的ã€?br /> <br /> <br /> 下面的例子说明了åQŒå¦‚何读取用户CHECKUP表SEAPARK中的BLOOD_TEST_FLAGåˆ—ä¸‹çš„é¡¹ç›®ï¼Œä½œäØ“DECODE函数的实参支持倹{€? <br /> SELECT checkup_type, <br /> DECODE(blood_test_flag,’Y’,’Yes’,’N’,’No’,NULL,’None’,’Invalid’) <br /> FROM checkup;</span></span> <img src ="http://www.aygfsteel.com/haiing/aggbug/245334.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/haiing/" target="_blank">轧钢王子</a> 2008-12-09 21:06 <a href="http://www.aygfsteel.com/haiing/archive/2008/12/09/245334.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>误用SQL Server关键字导致的问题http://www.aygfsteel.com/haiing/archive/2008/01/29/178394.html轧钢王子轧钢王子Tue, 29 Jan 2008 10:06:00 GMThttp://www.aygfsteel.com/haiing/archive/2008/01/29/178394.htmlhttp://www.aygfsteel.com/haiing/comments/178394.htmlhttp://www.aygfsteel.com/haiing/archive/2008/01/29/178394.html#Feedback0http://www.aygfsteel.com/haiing/comments/commentRss/178394.htmlhttp://www.aygfsteel.com/haiing/services/trackbacks/178394.html刚才在练习ä‹Éç”?/span>Hibernate的复合主键例子时åQŒè‡ªå·±å¾ˆè‡ªä¿¡çš„认为已¾lé¢†æ‚Ÿäº†å…¶ä¸­çš„原理,于是开始制作例子程序。恩åQŒæƒ³èµ·å‰ŒD‰|—¶é—´ç¡®å®žæœ‰ä¸ªå¯ä»¥åˆ©ç”¨å¤åˆä¸»é”®çš„地方åQŒé‚£ž®±æ˜¯å…¬å¯“寝室表,于是开始徏立数据库表:

利用Eclipse自动生成机制åQŒå¾ˆå¿«å°±å®Œæˆäº†æ˜ ž®„文件等的生成,‹¹‹è¯•一下,却发觉出现错è¯?br />

 1WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
 2
 3log4j:WARN Please initialize the log4j system properly.
 4
 5Hibernate: insert into HAIING.dbo.DORMROOM (desc, dorm, room) values (???)
 6
 7org.hibernate.exception.GenericJDBCException: could not insert: [com.haiing.hibernate.fuhezhujian.DormRoom]
 8
 9    at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:82)
10
11    at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:70)
12
13    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
14
15    at org.hibernate.persister.entity.BasicEntityPersister.insert(BasicEntityPersister.java:1869)
16
17    at org.hibernate.persister.entity.BasicEntityPersister.insert(BasicEntityPersister.java:2200)
18
19    at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:46)
20
21    at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:239)
22
23    at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:223)
24
25    at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:136)
26
27    at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:274)
28
29    at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
30
31    at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:730)
32
33    at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:324)
34
35    at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:86)
36
37    at com.haiing.hibernate.fuhezhujian.DormRoomOperate.insert(DormRoomOperate.java:26)
38
39    at com.haiing.hibernate.fuhezhujian.Test2PK.main(Test2PK.java:19)
40
41Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]在关键字 'desc' é™„近有语法错误ã€?br /> 42
43    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
44
45    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
46
47    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
48
49    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
50
51    at com.microsoft.jdbc.sqlserver.tds.TDSRPCRequest.processReplyToken(Unknown Source)
52
53    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
54
55    at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
56
57    at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source)
58
59    at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)
60
61    at com.microsoft.jdbc.base.BasePreparedStatement.postImplExecute(Unknown Source)
62
63    at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
64
65    at com.microsoft.jdbc.base.BaseStatement.executeUpdateInternal(Unknown Source)
66
67    at com.microsoft.jdbc.base.BasePreparedStatement.executeUpdate(Unknown Source)
68
69    at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:22)
70
71    at org.hibernate.persister.entity.BasicEntityPersister.insert(BasicEntityPersister.java:1853)
72
73     12 more
74



郁闷了很长时é—ß_¼Œå¼€å§‹ä»¥ä¸ºæ˜¯ä¸»é”®¾cÕd¤å†™çš„hash¾cÕd’Œequals¾cÀLœ‰é”™è¯¯åQŒäºŽæ˜¯ä‹Éç”?/span>org.apache.commons.lang中的对应æ–ÒŽ³•重写åQŒå¯˜q˜æ˜¯ä¸è¡Œã€‚端详了很长旉™—´åQŒæ¯ä¸€¿Uå¯èƒ½çš„错误都考虑了,感觉没啥错误了呀åQ?/span>

又看了一遍错误的代码åQŒå‘觉已¾lç”Ÿæˆäº†HQL语句åQŒè€Œä¸”错误代码几乎全是数据库的问题。数据库的驱动包我已¾låŠ ˜q›æ¥äº†ï¼Œè€Œä¸”在其他的例子中运行很正常呀åQèŽ«éžæ˜¯æäº¤è¯­å¥çš„é”™è¯¯ï¼Œçœ‹äº†ä¸€ä¸‹çœ‹ä¸å‡ºä»€ä¹ˆæ¥åQŒèŽ«éžæ˜¯æ•°æ®åº“çš„é—®é¢˜åQŸåŽ»æŸ¥çœ‹è¡¨ï¼Œå‘è§‰æœ‰ç‚¹æ€ªæ€ªçš„åQ?/span>


˜q™ä¸ªdesc怎么成介个样子了åQŒèŽ«éžè®¾¾|®æˆå¤åˆä¸»é”®ä¹‹åŽž®±æˆäº†è¿™ä¸ªæ ·å­ï¼ŒåŠ è¿›ä¸€ä¸ªæ–°çš„å­—ŒD‰|²¡æœ‰å‘€ã€‚嘿嘿,那我ž®±åˆ äº†è¿™ä¸ªå­—ŒDµï¼Œåœ¨é‡æ–°åŠ ˜q›æ¥ã€‚结果还是不行!
˜q™æ—¶æˆ‘又调整了思èµ\åQŒæŠŠç”Ÿæˆçš?/span>SQL语句复制到查询分析器中执行,˜q˜æ˜¯æ˜„¡¤º“在关键字 'desc' 附近有语法错è¯?/span>”åQŒæˆ‘晕!看来ž®±æ˜¯æ•°æ®åº“的问题了。等½{‰ï¼Œæˆ‘突然意识到什么了åQ?/span>

关键字?

desc?

莫非åQŸä¸æ˜¯èŽ«éžï¼Œž®±æ˜¯˜q™æ ·å‘€åQŒæˆ‘怎么忘得一òq²äºŒå‡€äº†ï¼Œdesc˜q™ä¹ˆå¥½çš„词汇早就被前辈们定义成关键字了,怎么会留¾l™æˆ‘来ä‹É用呢åQ?/span>
      
æ”ÒŽŽ‰descåQŒä¸€åˆ‡é—®é¢˜å…¨éƒ¨è§£å†³äº†åQŒæ•°æ®æˆåŠŸçš„æ’å…¥åˆ°æ•°æ®åº“ä¹‹ä¸­åQ?/span>

唉,惭愧呀�/span>



]]>
Spring自学½W”è®°(1)http://www.aygfsteel.com/haiing/archive/2008/01/29/178295.html轧钢王子轧钢王子Tue, 29 Jan 2008 00:19:00 GMThttp://www.aygfsteel.com/haiing/archive/2008/01/29/178295.htmlhttp://www.aygfsteel.com/haiing/comments/178295.htmlhttp://www.aygfsteel.com/haiing/archive/2008/01/29/178295.html#Feedback0http://www.aygfsteel.com/haiing/comments/commentRss/178295.htmlhttp://www.aygfsteel.com/haiing/services/trackbacks/178295.html用了一ŒD‰|—¶é—´çš„公司框架åQŒè¿˜æ²¡æ—¶é—´è®¤çœŸçš„坐下来练习一ä¸?/span>Spring开源框架的基础åQŒçœŸæ˜¯æœ‰äº›ä¸å¥½æ„æ€ã€‚刚看完在网上下的关äº?/span>Spring的视频教½E‹ï¼Œæ­£å¥½¾lƒä¹ ä¸€ä¸‹ï¼Œž®×ƒ»¥æ°´æžœä½œäؓ今天例子½E‹åºçš„主角ã€?/span>

打开MyeclipseåQŒæ·»åР坹Spring的支持(也不知道˜q™ä¹ˆé€‰è¡Œä¸è¡ŒåQŒæ±—~)

       接下来按照默认设¾|®ç›´æŽ¥ç‚¹å‡?/span>NextåQŒæœ€åŽç‚¹å®Œæˆå›_¯ã€‚项目中生成了传说中功能强大çš?/span>Spring配置文äšgapplicationContext.xmlåQŒå“ˆå“ˆï¼Œäº²ä¸€ä¸ªï¼

       环境讄¡½®å¥½äº†åQŒæŽ¥ä¸‹æ¥è¯¥ç¼–写类文äšg了。先生成一ä¸?/span>Fruit接口åQ?br />

1package com.haiing.myspring;
2
3public interface Fruit 
4
5{
6       //吃水æž?/span>
7       public void eat();
8}

9

       接着¾~–写实现此接口的¾cÀL–‡ä»Óž¼š

 1package com.haiing.myspring;
 2
 3public class Apple implements Fruit {
 4
 5  public void eat() {
 6
 7              // åƒè‹¹æž?/span>
 8
 9              System.out.println("我要吃苹果了~~ï½?/span>") ;       
10
11       }

12
13}

14


 1package com.haiing.myspring;
 2
 3public class potato implements Fruit 
 4{
 5       public void eat() 
 6       {
 7
 8            // åƒè¥¿¾U¢æŸ¿
 9
10              System.out.println("我要吃西¾U¢æŸ¿äº†ï½žï½žï½ž") ;
11       }

12}

13


 1package com.haiing.myspring;
 2
 3public class Orange implements Fruit {
 4
 5       public void eat() {
 6
 7              // åƒæ©˜å­?/span>
 8
 9              System.out.println("我要吃橘子了~~ï½?/span>") ;
10
11       }

12
13}

14


       接口文äšg写好了,现在要写‹¹‹è¯•¾cÕd’Œé…ç½®Springæ–‡äšg了ã€?/span>

       讄¡½®applicationContext.xml配置文äšg如下åQ?/span>

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

    
<bean id="apple" class="com.haiing.myspring.Apple"></bean>

    
<bean id="potato" class="com.haiing.myspring.Potato"></bean>

    
<bean id="orange" class="com.haiing.myspring.Orange"></bean>

</beans>


       ¾~–写一个测试类文äšgåQ?/span>

 1package com.haiing.myspring;
 2
 3import org.springframework.context.ApplicationContext;
 4
 5import org.springframework.context.support.ClassPathXmlApplicationContext;
 6
 7public class TestFruit 
 8
 9{
10       public static void main(String[] args)
11       {
12
13              ApplicationContext context = null ;
14
15              context = new ClassPathXmlApplicationContext("applicationContext.xml") ;
16
17              Fruit fruit = (Fruit)context.getBean("orange") ; 
18
19              fruit.eat() ;            
20       }

21}

22

 

现在可以开始测试效果了åQŒè¿è¡Œæµ‹è¯•ç±»åQŒåœ¨æŽ§åˆ¶å°è¾“出:

我要吃苹果了~~�/span>

log4j:WARN No appenders could be found for logger (org.springframework.beans.factory.xml.XmlBeanDefinitionReader).

log4j:WARN Please initialize the log4j system properly.

大功告成åQŒä¸‹é¢çº¢å­—提½Cºæ˜¯å› äؓ没有讄¡½®æ—¥å¿—ã€‚è¿™æ øP¼Œåœ¨è‹¹æžœæ¶¨ä»·ä¹‹åŽï¼Œæˆ‘们ž®±å¯ä»¥æ–¹ä¾¿çš„修改‹¹‹è¯•æ–‡äšgåQŒæ¢æˆå…¶ä»–的水果åQŒç…§åƒä¸è¯¯äº†ï½?/span>

不过话又说回来了åQŒæ¢å½’换åQŒåƒå…¶ä»–的东西可是吃不出è‹ÒŽžœçš„味道呀



]]>
在Hibernate中ä‹É用oracleçš„sequence产生主键http://www.aygfsteel.com/haiing/archive/2008/01/16/175736.html轧钢王子轧钢王子Wed, 16 Jan 2008 09:49:00 GMThttp://www.aygfsteel.com/haiing/archive/2008/01/16/175736.htmlhttp://www.aygfsteel.com/haiing/comments/175736.htmlhttp://www.aygfsteel.com/haiing/archive/2008/01/16/175736.html#Feedback0http://www.aygfsteel.com/haiing/comments/commentRss/175736.htmlhttp://www.aygfsteel.com/haiing/services/trackbacks/175736.html   åˆšåˆšæŽ¥è§¦Hibernate不长旉™—´åQŒä»Šå¤©æƒ³åŠ¨æ‰‹åšä¸€ä¸ªå°ä¾‹å­åQŒæ•°æ®åº“使用的是Oracle。打½Ž—ä‹Éç”?span lang="EN-US">Oracleä¸­çš„åºåˆ—ä½œäØ“è¡¨çš„ä¸»é”®åQŒå´ä¸çŸ¥é“ä‹Éç”?span lang="EN-US">Hibernate如何与其兌™”在一赗÷€‚请教同事,被告知要使用诸如select语句˜q›è¡ŒæŸ¥è¯¢“select   sequence.nextval   from   dual”åQŒæ™•倒~

¾lˆäºŽ½{‰åˆ°ä¸­åˆåQŒä¸Š¾|‘去查资料。得解:
   1
、在oracle 首先创徏sequence

      create sequence seq_id
      minvalue 
1
      start 
with 1
      increment 
by 1
      cache 
20;

   2.在你çš?span lang="EN-US">hbm.xml中的配置

     <id column="ID0000" name="id" type="integer">
         
<generator class="sequence">
              
<param name="sequence">seq_id</param>
         
</generator>
     
</id>

   ˜q™æ ·å†æ’入数据的时候,Hibernate回自动生成如下语句:

       hibernate: select seq_id.nextval from dual 

       hibernate:  
insert into YXJK.T_YXJK_WHRYTXL (XM0000, ZW0000,                         LXDH00,SJHM00,DZYJ00,IP0000,ID0000) values (?, ?, ?, ?, ?, ?, ?)

   è‡ªåŠ¨ç”Ÿæˆä¸‹ä¸€ä¸ªåºåˆ—å€û|¼Œç„¶åŽž®†å¯¹è±¡æ’入表中ã€?br />        ˜q™æ ·é—®é¢˜å¾—è§£åQ?br />
PSåQ?br /> sequencež®±æ˜¯é‡‡ç”¨æ•°æ®åº“提供的sequence机制生成主键。如oralce中的Sequence
native
ž®±æ˜¯ç”?/span>hibernateæ ÒŽ®æ•°æ®åº“çš„DialectåQŒè‡ªåЍ采ç”?/span>identityåQ?/span>hiloåQ?/span>sequence的其中一¿Uä½œä¸ÞZ¸»é”®ç”Ÿæˆæ–¹å¼?/span>



轧钢王子 2008-01-16 17:49 发表评论
]]>
一个合格的½E‹åºå‘˜è¯¥åšçš„事情 http://www.aygfsteel.com/haiing/archive/2008/01/06/173211.html轧钢王子轧钢王子Sun, 06 Jan 2008 15:55:00 GMThttp://www.aygfsteel.com/haiing/archive/2008/01/06/173211.htmlhttp://www.aygfsteel.com/haiing/comments/173211.htmlhttp://www.aygfsteel.com/haiing/archive/2008/01/06/173211.html#Feedback2http://www.aygfsteel.com/haiing/comments/commentRss/173211.htmlhttp://www.aygfsteel.com/haiing/services/trackbacks/173211.htmlž®†æ­¤ä½œäØ“½W¬ä¸€½‹‡éš½W”,谨以自勉åQç¥æ„¿è‡ªå·×ƒ»ŠåŽä¸€è·¯å¥½èµŽÍ½ž

½E‹åºå‘˜æ¯å¤©è¯¥åšçš„äº?/span>

1、æ€È»“自己一天ä“Q务的完成情况

最好的方式是写工作日志åQŒæŠŠè‡ªå·±ä»Šå¤©å®Œæˆäº†ä»€ä¹ˆäº‹æƒ…,遇见了什么问题都记录下来åQŒæ—¥åŽç¿»çœ‹å¥½å¤„多å¤?/span>

2、考虑自己明天应该做的主要工作

把明天要做的事情列出来,òq¶æŒ‰ç…§ä¼˜å…ˆçñ”排列åQŒç¬¬äºŒå¤©åº”该把自己效率最高的旉™—´åˆ†é…¾l™æœ€é‡è¦çš„å·¥ä½?/span>

3、考虑自己一天工作中å¤Þp¯¯çš„地方,òq¶æƒ³å‡ºé¿å…ä¸‹ä¸€‹Æ¡å†çŠ¯çš„æ–ÒŽ³•

出错不要紧,最重要的是不要重复犯相同的错误åQŒé‚£æ˜¯æ„šè ?/span>

4、考虑自己一天工作完成的质量和效率能否还能提�/span>

一天只提高1%åQ?/span>365天你的效率就能提高多ž®‘倍你知道吗? (1+0.01)^365 = 37 å€?/span>

5、看一个有用的新闻¾|‘站或读一张有用的报纸åQŒäº†è§£ä¸šç•ŒåЍæ€?/span>

闭门造èžR是不行的åQŒäº†è§£ä¸€ä¸‹åˆ«äººéƒ½åœ¨åšä»€ä¹ˆï¼Œå¯¹è‡ªå·Þpƒ½å¸¦æ¥å¾ˆå¤šå¯ç¤º

6、记住一位同事的名字及其特点

你认识公司的所有同事吗åQŸä½ äº†è§£ä»–们吗?

7、清理自å·Þqš„代码

今天完成的代码,把中间的调试信息åQŒæµ‹è¯•代码清理掉åQŒæŒ‰ç…§ç¼–码风格整理好åQŒæ³¨é‡Šéƒ½å†™å¥½äº†å—åQ?/span>

8、清理自å·Þqš„æ¡Œé¢

当日事当日毕åQŒä¿æŒæ¸…‹zå¹²åŠ²çš„æ¡Œé¢æ‰èƒ½è®©ä½ å·¥ä½œæ—¶ä¸åˆ†å¿ƒåQŒç¨‹åºå‘˜ç‰¹åˆ«è¦æŠŠç”µè„‘的桌面清理干净

½E‹åºå‘˜æ¯æœˆè¯¥åšçš„äº?/font>
1
、至ž®‘和一个同事一起吃饭或喝茶

不光了解自己工作伙伴的工作,˜q˜è¦äº†è§£ä»–们的生‹z?/span>

2、自我考核一‹Æ?/span>
相对正式地考核自己一下,你对得è“v˜q™ä¸ªæœˆçš„工资吗?

3、对你的同事考核一‹Æ?/span>
ä½ çš„åŒäº‹è¡¨çŽ°æ€Žä¹ˆæ øP¼Ÿå“ªäº›äººå€¼å¾—学习åQŒå“ªäº›äh需要帮助?

3、制定下月的计划åQŒç¡®å®šä¸‹æœˆçš„工作重点

4、æ€È»“自己工作质量改进状况
自己的质量提高了多少åQ?/span>

5、有针对性地对一™å¹å·¥ä½œæŒ‡æ ‡åšæ·±å…¥åœ°åˆ†æžåƈ得出改进的方æ¡?/span>
可以是对自己的,也可以是对公司的åQŒä¸€å®šè¦æ·±å…¥åœ°åˆ†æžåŽæ‹¿å‡ºè‡ªå·±çš„è§‚ç‚ÒŽ¥ã€‚要惛_œ¨è€æ¿é¢å‰è¯´å¾—上话åQŒåšçš„æˆäº‹ï¼Œå·¥ä½œä¸ŠåŠŸå¤«è¦åšèƒöã€?/span>

6、与老板沟通一‹Æ?/span>
最好是面对面地沟通,好好表现一下自己,虚心听取老板的意见,更重要的是要了解老板当前兛_¿ƒçš„重ç‚?br />

½E‹åºå‘˜æ¯òq´è¯¥åšçš„äº?/font>
1
、年¾lˆæ€È»“

每个公司都会做的事情åQŒä½†ä½ çœŸæ­£è®¤çœŸåœ°æ€È»“˜q‡è‡ªå·±å—åQ?/span>

2、兑现给自己、给家äh的承è¯?/span>
¾l™è€å©†ã€å„¿å­çš„æ–°å¹´½C¼ç‰©ä¹îCº†æ²¡æœ‰åQŸç»™è‡ªå·±çš„å‘¢åQ?/span>

3、下òq´åº¦å·¥ä½œè§„划
好好æƒÏxƒ³è‡ªå·±æ˜Žå¹´çš„发展目标,争取升职/加薪、蟩槽还是自己出来干åQ?/span>

4、掌握一™åÒŽ–°æŠ€æœ?/span>
臛_°‘是一™å¹ï¼Œä½œäØ“½E‹åºå‘˜ä¸€òq´è¦æ˜¯ä¸€™åÒŽ–°æŠ€æœ¯éƒ½å­¦ä¸åˆ°æ‰‹åQŒé‚£ž®×ƒ¸€å®šä¼šè¢«æ·˜æ±°ã€?/span>

掌握可不是看本书ž®Þp¡Œçš„,要真正懂得应用,最好你能够写一½‹‡æ•™½E‹å‘表到你的blog

5、推å‡ÞZ¸€¿Uæ–°äº§å“
可以是一个真正的产品åQŒä¹Ÿå¯ä»¥åªæ˜¯ä¸€ä¸ªç±»åº“,只要是你创造的东西ž®Þp¡ŒåQŒè®©åˆ«ähä½¿ç”¨å®ƒï¼Œä¹ŸäØ“ä¸–ç•Œä½œç‚¹è´¡çŒ®ã€‚å½“ç„¶å¦‚æžœçœŸçš„å¾ˆæœ‰ä­hå€û|¼Œæ”¶ç‚¹æ³¨å†Œè´¹ä¹Ÿæ˜¯åº”该的

6、与父母团聚一‹Æ?/span>
常回家看看,常回家看�/span>



]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º ËÄ´¨Ê¡| ¶÷ƽÊÐ| ÆÁ¶«ÏØ| ÐÂÏçÊÐ| ½çÊ×ÊÐ| ½ðÐã| ɳÌïÇø| ÐËÈÊÏØ| ÂÞ³Ç| ½ð̳ÊÐ| ¼ªÊ×ÊÐ| ÓÀ¸£ÏØ| ±£É½ÊÐ| ÑνòÏØ| Ûº£ÏØ| ÖÐÎ÷Çø| Ë³Æ½ÏØ| ·ðÆºÏØ| IJ¶¨ÏØ| ¹ó¶¨ÏØ| ³£µÂÊÐ| ÄÏÁêÏØ| ÎôÑôÏØ| ½­»ª| ¿ËÀ­ÂêÒÀÊÐ| ÉÏÈÄÏØ| Æ½Ë³ÏØ| Çå½§ÏØ| ÐÝÄþÏØ| ¿ËÉ½ÏØ| Çì³ÇÏØ| »ñ¼ÎÏØ| ¶«ÐËÊÐ| ³¤ÖÎÏØ| ÎߺþÏØ| ÉçÆìÏØ| ÏéÔÆÏØ| ÄÏÖ£ÏØ| ³à³ÇÏØ| ºâË®ÊÐ| ÓÀ´ºÏØ|