??xml version="1.0" encoding="utf-8" standalone="yes"?>无码欧精品亚洲日韩一区夜夜嗨,中文国产成人精品久久亚洲精品AⅤ无码精品,亚洲精品国产综合久久久久紧 http://m.tkk7.com/haiing/新的Lzh-cnSun, 11 May 2025 13:04:40 GMTSun, 11 May 2025 13:04:40 GMT60Oracle常用及非常用函数详解http://m.tkk7.com/haiing/archive/2008/12/14/246264.html轧钢王子轧钢王子Sun, 14 Dec 2008 12:12:00 GMThttp://m.tkk7.com/haiing/archive/2008/12/14/246264.htmlhttp://m.tkk7.com/haiing/comments/246264.htmlhttp://m.tkk7.com/haiing/archive/2008/12/14/246264.html#Feedback0http://m.tkk7.com/haiing/comments/commentRss/246264.htmlhttp://m.tkk7.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表示日期型,[]表示内中参数可被忽略Qfmt表示格式?

单值函数在查询中返回单个|可被应用到selectQwhere子句Qstart with以及connect by 子句和having子句?
(一).数值型函数(Number Functions)
数值型函数输入数字型参数ƈq回数值型的倹{多数该cd数的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的倹{?
    例如QSELECT MOD(24,5) FROM DUAL;

2? ROUND(n1[,n2]) q回四舍五入数点右边n2位后n1的|n2~省gؓ0Q如果n2数就舍入到小数点左边相应的位?虽然oracle documents上提到n2的值必Mؓ整数Q事实上执行时此处的判断q不严}Q即使n2为非整数Q它也会自动n2取整后做处理Q但是我文档中其它提到必Mؓ整的地方需要特别注意,如果不ؓ整执行时会报错的)?
例如QSELECT 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|截֜数点左边相应的位上?
例如QSELECT TRUNC(23.56),TRUNC(23.56,1),TRUNC(23.56,-1) FROM DUAL;

(?.字符型函数返回字W?Character Functions Returning Character Values)
该类函数q回与输入类型相同的cd?
q回的CHARcd值长度不过2000字节Q?
q回的VCHAR2cd值长度不过4000字节Q?
如果上述应返回的字符长度出Qoracleq不会报错而是直接截断x大可支持长度q回?

q回的CLOBcd值长度不过4GQ?
对于CLOBcd的函敎ͼ如果q回值长度超出,oracle不会q回M错误而是直接抛出错误?

1、LOWER(c) 指定字W串内字W变为小写,支持CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB,NCLOBcd
    例如QSELECT LOWER('WhaT is tHis') FROM DUAL;

2、UPPER(c) 指定字W串内字W变为大写,支持CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB,NCLOBcd
    例如QSELECT UPPER('WhaT is tHis') FROM DUAL;

3、LPAD(c1,n[,c2]) q回指定长度=n的字W串Q需要注意的有几点:
如果n<c1.length则从叛_左截取指定长度返回;
如果n>c1.length and c2 is nullQ以I格从左向右补充字符长度至nq返回;
如果n>c1.length and c2 is not nullQ以指定字符c2从左向右补充c1长度至nq返回;
例如QSELECT LPAD('WhaT is tHis',5),LPAD('WhaT is tHis',25),LPAD('WhaT is tHis',25,'-') FROM DUAL;
最后大家再猜一猜,如果n<0Q结果会怎么?

4、RPAD(c1,n[,c2]) q回指定长度=n的字W串Q基本与上同Q不q补充字W是从右向左方向正好与上相反Q?
    例如QSELECT 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格
例如QSELECT TRIM(' WhaT is tHis ') FROM DUAL;
如果指定了c2参数Q则oracleLc1头尾c2(q个l致试Q有多种不同情Ş的哟)
例如QSELECT TRIM('W' FROM 'WhaT is tHis w W') FROM DUAL;
如果指定了leading参数则会Lc1头部c2
例如QSELECT TRIM(leading 'W' FROM 'WhaT is tHis w W') FROM DUAL;
如果指定了trailing参数则会Lc1Nc2
例如QSELECT TRIM(trailing 'W' FROM 'WhaT is tHis w W') FROM DUAL;
如果指定了both参数则会Lc1头尾c2(跟不指定有区别吗Q没区别Q?
例如QSELECT TRIM(both 'W' FROM 'WhaT is tHis w W') FROM DUAL;
注意Qc2长度=1

6、LTRIM(c1[,c2]) 千万表以Z上面那个长的像,功能也与上面的类|本函数是从字W串c1左侧截取掉与指定字符串c2相同的字Wƈq回。如果c2为空则默认截取空根{?
例如QSELECT LTRIM('WWhhhhhaT is tHis w W','Wh') FROM DUAL;

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

8、REPLACE(c1,c2[,c3]) c1字符串中的c2替换为c3Q如果c3为空Q则从c1中删除所有c2?
    例如QSELECT 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相对应的字母:
1Qb、f、p、v
2Qc、g、k、q、s、x、z
3Qd、t
4Ql
5Qm、n
6QR
如果字符串中存在拥有相同数字?个以上(包含2个)的字母在一P例如b和fQ,或者只有h或wQ则删除其他的,只保?个;
只返回前4个字节,不够?填充
例如QSELECT 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>0Q则oracle从左向右认起始位置截取
例如QSELECT SUBSTR('What is this',5,3) FROM DUAL;
?如果n1<0Q则oracle从右向左数确认v始位|?
例如QSELECT SUBSTR('What is this',-5,3) FROM DUAL;
?如果n1>c1.length则返回空
例如QSELECT SUBSTR('What is this',50,3) FROM DUAL;
然后再请你猜猜,如果n2<1Q会如何q回值呢

11? TRANSLATE(c1,c2,c3) 功能而言Q此函数与replace有些怼。但需要注意的一ҎQtranslate是绝对匹配替换,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必Lq箋的。而translate中,则是指定字符? c1中出现的c2Q将c2中各个字W替换成c3中位|顺序与其相同的c3中的字符。明白了QReplace是替换,而translate则像是过?/p>

(?.字符型函数返回数字?Character Functions Returning Number Values)
本类函数支持所有的数据cd

1、INSTR(c1,c2[,n1[,n2]]) q回c2在c1中位|?
c1:原字W串
c2:要寻扄字符?
n1:查询起始位置Q正DCZ左到叻I负DCZ叛_?(大小表示位置,比如3表示左面W?处开?-3表示右面W?处开?。黑黑,如果?的话Q则q回的也?
n2:W几个匹配项。大?
例如QSELECT INSTR('abcdefg','e',-3) FROM DUAL;

2、LENGTH(c) q回指定字符串的长度。如?
例如QSELECT LENGTH('A123?) FROM DUAL;
猜猜SELECT LENGTH('') FROM DUAL;的返回值是什?

(?.日期函数(Datetime Functions)
本类函数中,除months_betweenq回数值外Q其它都返回日期?

1、ADD_MONTHS() q回指定日期月䆾+n之后的|n可以ZQ何整数?
例如QSELECT 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所以了解即可?
例如QSELECT SYSDATE,CURRENT_DATE FROM DUAL;

4、LAST_DAY(d) q回指定旉所在月的最后一?
例如QSELECT last_day(SYSDATE) FROM DUAL;

5、NEXT_DAY(d,n) q回指定日期后第一个n的日期,nZ周中的某一天。但是,需要注意的是n如果为字W的话,它的星期形式需要与当前session默认时区中的星期形式相同?
例如Q三思用的中文ntQnls_languagegؓ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过ROUNDQ此处与上功能基本相|不过此处操作的是日期。如果不指定fmt参数Q则默认q回距离指定日期最q的日期?
例如QSELECT ROUND(SYSDATE,'HH24') FROM DUAL;

8、TRUNC(d[,fmt]) 与前面介l的数值型TRUNC原理相同Q不q此处也是操作的日期型?
例如QSELECT TRUNC(SYSDATE,'HH24') FROM DUAL;

(?.转换函数(Conversion Functions)
转换函数指定字W从一U类型{换ؓ另一U,通常q类函数遵@如下惯例Q函数名U后面跟着待{换类型以及输出类型?

1、TO_CHAR() 本函数又可以分三类Q分别是
转换字符->字符TO_CHAR(c)Q将nchar,nvarchar2,clob,nclobcd转换为charcdQ?
例如QSELECT TO_CHAR('AABBCC') FROM DUAL;

转换旉->字符TO_CHAR(d[,fmt])Q将指定的时?data,timestamp,timestamp with time zone)按照指定格式转换为varchar2cdQ?
例如QSELECT TO_CHAR(sysdate,'yyyy-mm-dd hh24:mi:ss') FROM DUAL;

转换数?>字符TO_CHAR(n[,fmt])Q将指定数值n按照指定格式fmt转换为varchar2cdq返回;
例如QSELECT 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)转换Qc则必Mؓ大于0q小?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么公元制的话Qc的值必M大于5373484呢?因ؓOracle的DATEcd的取D围是公元?712q??日至公元9999q?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回?
例如QSELECT TO_NUMBER('-100.00', '9G999D99') FROM DUAL;

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

1、DECODE(exp,s1,r1,s2,r2..s,r[,def]) 可以把它理解成一个增强型的if elseQ只不过它ƈ不通过多行语句Q而是在一个函数内实现if else的功能?
exp做ؓ初始参数。s做ؓҎ|相同则返回rQ如果s有多个,则持l遍历所有sQ直到某个条件ؓ真ؓ止,否则q回默认值def(如果指定了的?Q如果没有默认|q且前面的对比也都没有ؓ真,则返回空?
毫无疑问Qdecode是个非常重要的函敎ͼ在实现行转列{功能时都会用到Q需要牢记和熟练使用?

例如Qselect decode('a2','a1','true1','a2','true2','default') from dual;

2、GREATEST(n1,n2,...n) q回序列中的最大?
例如QSELECT GREATEST(15,5,75,8) "Greatest" FROM DUAL;

3、LEAST(n1,n2....n) q回序列中的最?
例如QSELECT LEAST(15,5,75,8) LEAST FROM DUAL;

4、NULLIF(c1,c2)
Nullif也是个很有意思的函数。逻辑{h于:CASE WHEN c1 = c2 THEN NULL ELSE c1 END
例如QSELECT 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的类型?
例如QSELECT NVL(null, '12') FROM DUAL;

6、NVL2(c1,c2,c3) 大家可能都用到nvlQ但你用qnvl2吗?如果c1非空则返回c2,如果c1为空则返回c3
例如Qselect nvl2('a', 'b', 'c') isNull,nvl2(null, 'b', 'c') isNotNull from dual;

7、SYS_CONNECT_BY_PATH(col,c) 该函数只能应用于树状查询。返回通过c1q接的从根到节点的\径。该函数必须与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提供内置了一个命名空间USERENVQ描qC当前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

例如QSELECT SYS_CONTEXT('USERENV', 'SESSION_USER') FROM DUAL;
注:N表示数字型,C表示字符型,D表示日期型,[]表示内中参数可被忽略Qfmt表示格式?

单值函数在查询中返回单个|可被应用到selectQwhere子句Qstart with以及connect by 子句和having子句?
(一).数值型函数(Number Functions)
? 值型函数输入数字型参数ƈq回数值型的倹{多数该cd数的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回数字的绝对?
例如QSELECT ABS(-1000000.01) FROM DUAL;

2、COS(n) q回n的余弦?
例如QSELECT COS(-2) FROM DUAL;

3、ACOS(n) 反余弦函敎ͼn between -1 and 1Q返回值between 0 and pi?
例如QSELECT ACOS(0.9) FROM DUAL;

4、BITAND(n1,n2) 位与q算Q这个太有意思了Q虽然没惛_可能用到哪里Q详l说明一下:
假设3,9做位与运,3的二q制形式为:0011Q?的二q制形式为:1001Q则l果?001Q{换成10q制Cؓ1?
例如QSELECT BITAND(3,9) FROM DUAL;

5、CEIL(n) q回大于或等于n的最的整数?
例如QSELECT ceil(18.2) FROM DUAL;
考你一下,猜猜ceil(-18.2)的g是什么呢

6、FLOOR(n) q回于{于n的最大整数?
例如QSELECT FLOOR(2.2) FROM DUAL;
再猜猜floor(-2.2)的g是什么呢

7、BIN_TO_NUM(n1,n2,....n) 二进制{向十q制
例如QSELECT BIN_TO_NUM(1),BIN_TO_NUM(1,0),BIN_TO_NUM(1,1) FROM DUAL;

8、SIN(n) q回n的正玄?n为弧度?
例如QSELECT SIN(10) FROM DUAL;

9、SINH(n) q回n的双曲正玄?n为弧度?
例如QSELECT SINH(10) FROM DUAL;

10、ASIN(n) 反正玄函敎ͼn between -1 and 1Q返回值between pi/2 and -pi/2?
例如QSELECT ASIN(0.8) FROM DUAL;

11、TAN(n) q回n的正切?n为弧?
例如QSELECT TAN(0.8) FROM DUAL;

12、TANH(n) q回n的双曲正切?n为弧?
例如QSELECT TANH(0.8) FROM DUAL;

13、ATAN(n) 反正切函敎ͼn表示弧度Q返回值between pi/2 and -pi/2?
例如QSELECT ATAN(-444444.9999999) FROM DUAL;

14、EXP(n) q回e的nơ幂Qe = 2.71828183 ...
例如QSELECT EXP(3) FROM DUAL;

15、LN(n) q回n的自然对敎ͼn>0
例如QSELECT LN(0.9) FROM DUAL;

16、LOG(n1,n2) q回以n1为底n2的对敎ͼn1 >0 and not 1 Qn2>0
例如QSELECT LOG(1.1,2.2) FROM DUAL;

17、POWER(n1,n2) q回n1的n2ơ方。n1,n2可以ZQ意数|不过如果m是负敎ͼ则n必须为整?
例如QSELECT POWER(2.2,2.2) FROM DUAL;

18、SIGN(n) 如果n<0q回-1,如果n>0q回1Q如果n=0q回0.
例如QSELECT SIGN(14),SIGN(-14),SIGN(0) FROM DUAL;

19、SQRT(n) q回n的^Ҏ,n为弧度。n>=0
例如QSELECT SQRT(0.1) FROM DUAL;

(?.字符型函数返回字W?Character Functions Returning Character Values)
该类函数q回与输入类型相同的cd?
?q回的CHARcd值长度不过2000字节Q?
?q回的VCHAR2cd值长度不过4000字节Q?
如果上述应返回的字符长度出Qoracleq不会报错而是直接截断x大可支持长度q回?

?q回的CLOBcd值长度不过4GQ?
对于CLOBcd的函敎ͼ如果q回值长度超出,oracle不会q回M错误而是直接抛出错误?

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

2、CONCAT(c1,c2) q接字符Ԍ{同于||
例如QSELECT concat('aa','bb') FROM DUAL;

3、INITCAP(c) 字W串中单词的W一个字母{换ؓ大写Q其它则转换为小?
例如QSELECT INITCAP('whaT is this') FROM DUAL;

4、NLS_INITCAP(c) q回指定字符Ԍq将字符串中W一个字母变大写Q其它字母变写
例如QSELECT NLS_INITCAP('中华miNZHu') FROM DUAL;
它还h一个参敎ͼNlsparam用来指定排序规则Q可以忽略,默认状态该参数为当前session的排序规则?

(?.字符型函数返回数字?Character Functions Returning Number Values)
本类函数支持所有的数据cd
1、ASCII(c) 与chr函数的用途刚刚相反,本函数返回指定字W在当前字符集下对应的数倹{?
例如QSELECT ASCII('_') FROM DUAL;

(?.日期函数(Datetime Functions)
本类函数中,除months_betweenq回数值外Q其它都返回日期?
1、CURRENT_TIMESTAMP([n]) q回当前session所在时区的日期和时间。n表示毫秒U的_ֺQ不大于6
例如QSELECT CURRENT_TIMESTAMP(3) FROM DUAL;

2、LOCALTIMESTAMP([n]) 与上同,q回当前session所在时区的日期和时间。n表示毫秒U的_ֺQ不大于6
例如QSELECT LOCALTIMESTAMP(3) FROM DUAL;

3、SYSTIMESTAMP([n]) 与上同,q回当前数据库所在时区的日期和时_n表示毫秒U的_ֺQ?gt;0 and <6
例如QSELECT SYSTIMESTAMP(4) FROM DUAL;

4、DBTIMEZONE q回数据库的当前时区
例如QSELECT DBTIMEZONE FROM DUAL;

5、SESSIONTIMEZONE q回当前session所在时?
例如QSELECT SESSIONTIMEZONE FROM DUAL;

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

7、TO_TIMESTAMP(c1[,fmt]) 指定字W按指定格式转换为timestamp格式?
例如QSELECT 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十进制Ş式?
例如QSELECT BIN_TO_NUM(1,1,0) FROM DUAL;

2、CAST(c as newtype) 指定字串{换ؓ指定cdQ基本只对字W类型有效,比如char,number,date,rowid{。此c{换有一个专门的表列明了哪种cd可以转换为哪U类型,此处׃作酹q?
例如QSELECT CAST('1101' AS NUMBER(5)) FROM DUAL;

3、CHARTOROWID(c) 字W串转换为rowidcd
例如QSELECT CHARTOROWID('A003D1ABBEFAABSAA0') FROM DUAL;

4、ROWIDTOCHAR(rowid) 转换rowidgؓvarchar2cd。返回串长度?8个字节?
例如QSELECT ROWIDTOCHAR(rowid) FROM DUAL;

5、TO_MULTI_BYTE(c) 指定字W{换ؓ全角q返回charcd字串
例如QSELECT TO_MULTI_BYTE('ABC abc 中华') FROM DUAL;

6、TO_SINGLE_BYTE(c) 指定字W{换ؓ半角q返回charcd字串
例如QSELECT TO_SINGLE_BYTE('QQ abc中?) FROM DUAL;

(?.其它辅助函数(Miscellaneous Single-Row Functions)
1、COALESCE(n1,n2,....n) q回序列中的W一个非I?
例如QSELECT 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||17Q分别表C?q制Q?0q制Q?6q制和单字符Q默认ؓ10q制。start参数表示开始位|,length表示?分隔 的字串数?
例如QSELECT DUMP('abcdefg',17,2,4) FROM DUAL;

3、EMPTY_BLOB,EMPTY_CLOB q两个函数都是返回空lobcdQ通常被用于insert和update{语句以初始化lob列,或者将其置为空。EMPTY表示LOB已经被初始化Q只不过q没有用来存储数据?

4、NLS_CHARSET_NAME(n) q回指定数值对应的字符集名U?
例如QSELECT NLS_CHARSET_NAME(1) FROM DUAL;

5、NLS_CHARSET_ID(c) q回指定字符对应的字W集id?
例如QSELECT NLS_CHARSET_ID('US7ASCII') FROM DUAL;

6、NLS_CHARSET_DECL_LEN(n1,n2) q回一个NCHAR值的声明宽度(以字Wؓ单位).n1是该g字节为单位的长度Qn2是该值的字符集ID
例如QSELECT NLS_CHARSET_DECL_LEN(100, nls_charset_id('US7ASCII')) FROM DUAL;

7、SYS_EXTRACT_UTC(timestamp) q回标准通用旉x林威L间?
例如QSELECT SYS_EXTRACT_UTC(current_timestamp) FROM DUAL;

8、SYS_TYPEID(object_type) q回对象cd对应的id?
例如Q这个这个,没有建立q自定义对象Q咋做示例?

9、UID q回一个唯一标识当前数据库用L整数?
例如QSELECT UID FROM DUAL;

10、USER q回当前session用户
例如QSELECT USER FROM DUAL;

11、USERENV(c) 该函数用来返回当前session的信息,据oracle文档的说明,userenv是ؓ了保持向下兼容的遗留函数。oracle公司推荐你用sys_context函数调用USERENV命名I间来获取相关信息,所以大家了解下p了?
例如QSELECT USERENV('LANGUAGE') FROM DUAL;

12、VSIZE(c) q回c的字节数?
例如QSELECT VSIZE('abc中华') FROM DUAL;




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

轧钢王子 2008-12-14 19:44 发表评论
]]>
攉的关于ERP论坛的站?/title><link>http://m.tkk7.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://m.tkk7.com/haiing/archive/2008/12/14/246260.html</guid><wfw:comment>http://m.tkk7.com/haiing/comments/246260.html</wfw:comment><comments>http://m.tkk7.com/haiing/archive/2008/12/14/246260.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/haiing/comments/commentRss/246260.html</wfw:commentRss><trackback:ping>http://m.tkk7.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>QT_英论坛</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://m.tkk7.com/haiing/aggbug/246260.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/haiing/" target="_blank">轧钢王子</a> 2008-12-14 19:40 <a href="http://m.tkk7.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://m.tkk7.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://m.tkk7.com/haiing/archive/2008/12/14/246257.html</guid><wfw:comment>http://m.tkk7.com/haiing/comments/246257.html</wfw:comment><comments>http://m.tkk7.com/haiing/archive/2008/12/14/246257.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/haiing/comments/commentRss/246257.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/haiing/services/trackbacks/246257.html</trackback:ping><description><![CDATA[     摘要: Oracle中的NULL既是一个难点也是一个重点,如何理解它,以及如何处理它,都关pd我们查询l果的正性?nbsp; <a href='http://m.tkk7.com/haiing/archive/2008/12/14/246257.html'>阅读全文</a><img src ="http://m.tkk7.com/haiing/aggbug/246257.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/haiing/" target="_blank">轧钢王子</a> 2008-12-14 19:35 <a href="http://m.tkk7.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://m.tkk7.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://m.tkk7.com/haiing/archive/2008/12/09/245334.html</guid><wfw:comment>http://m.tkk7.com/haiing/comments/245334.html</wfw:comment><comments>http://m.tkk7.com/haiing/archive/2008/12/09/245334.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/haiing/comments/commentRss/245334.html</wfw:commentRss><trackback:ping>http://m.tkk7.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=10Q变?=20<br /> 则sign(变量1-变量2)q回-1Qdecode解码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://m.tkk7.com/haiing/aggbug/245334.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/haiing/" target="_blank">轧钢王子</a> 2008-12-09 21:06 <a href="http://m.tkk7.com/haiing/archive/2008/12/09/245334.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>误用SQL Server关键字导致的问题http://m.tkk7.com/haiing/archive/2008/01/29/178394.html轧钢王子轧钢王子Tue, 29 Jan 2008 10:06:00 GMThttp://m.tkk7.com/haiing/archive/2008/01/29/178394.htmlhttp://m.tkk7.com/haiing/comments/178394.htmlhttp://m.tkk7.com/haiing/archive/2008/01/29/178394.html#Feedback0http://m.tkk7.com/haiing/comments/commentRss/178394.htmlhttp://m.tkk7.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



郁闷了很长时_开始以为是主键cd写的hashcdequalscL错误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二净了,descq么好的词汇早就被前辈们定义成关键字了,怎么会留l我来用呢Q?/span>
      
ҎdescQ一切问题全部解决了Q数据成功的插入到数据库之中Q?/span>

唉,惭愧呀?/span>



轧钢王子 2008-01-29 18:06 发表评论
]]>
Spring自学W记(1)http://m.tkk7.com/haiing/archive/2008/01/29/178295.html轧钢王子轧钢王子Tue, 29 Jan 2008 00:19:00 GMThttp://m.tkk7.com/haiing/archive/2008/01/29/178295.htmlhttp://m.tkk7.com/haiing/comments/178295.htmlhttp://m.tkk7.com/haiing/archive/2008/01/29/178295.html#Feedback0http://m.tkk7.com/haiing/comments/commentRss/178295.htmlhttp://m.tkk7.com/haiing/services/trackbacks/178295.html用了一D|间的公司框架Q还没时间认真的坐下来练习一?/span>Spring开源框架的基础Q真是有些不好意思。刚看完在网上下的关?/span>Spring的视频教E,正好l习一下,׃水果作ؓ今天例子E序的主角?/span>

打开MyeclipseQ添加对Spring的支持(也不知道q么选行不行Q汗~)

       接下来按照默认设|直接点?/span>NextQ最后点完成卛_。项目中生成了传说中功能强大?/span>Spring配置文gapplicationContext.xmlQ哈哈,亲一个!

       环境讄好了Q接下来该编写类文g了。先生成一?/span>Fruit接口Q?br />

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

9

       接着~写实现此接口的cLӞ

 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写好了,现在要写试cd配置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>


       ~写一个测试类文gQ?/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在苹果涨价之后,我们可以方便的修改试文gQ换成其他的水果Q照吃不误了?/span>

不过话又说回来了Q换归换Q吃其他的东西可是吃不出Ҏ的味道呀



轧钢王子 2008-01-29 08:19 发表评论
]]>
在Hibernate中用oracle的sequence产生主键http://m.tkk7.com/haiing/archive/2008/01/16/175736.html轧钢王子轧钢王子Wed, 16 Jan 2008 09:49:00 GMThttp://m.tkk7.com/haiing/archive/2008/01/16/175736.htmlhttp://m.tkk7.com/haiing/comments/175736.htmlhttp://m.tkk7.com/haiing/archive/2008/01/16/175736.html#Feedback0http://m.tkk7.com/haiing/comments/commentRss/175736.htmlhttp://m.tkk7.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 />
PSQ?br /> sequence是采用数据库提供的sequence机制生成主键。如oralce中的Sequence
native
是?/span>hibernateҎ数据库的DialectQ自动采?/span>identityQ?/span>hiloQ?/span>sequence的其中一U作Z键生成方?/span>



轧钢王子 2008-01-16 17:49 发表评论
]]>
一个合格的E序员该做的事情 http://m.tkk7.com/haiing/archive/2008/01/06/173211.html轧钢王子轧钢王子Sun, 06 Jan 2008 15:55:00 GMThttp://m.tkk7.com/haiing/archive/2008/01/06/173211.htmlhttp://m.tkk7.com/haiing/comments/173211.htmlhttp://m.tkk7.com/haiing/archive/2008/01/06/173211.html#Feedback2http://m.tkk7.com/haiing/comments/commentRss/173211.htmlhttp://m.tkk7.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>
相对正式地考核自己一下,你对得vq个月的工资吗?

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、推ZU新产品
可以是一个真正的产品Q也可以只是一个类库,只要是你创造的东西pQ让别h使用它,也ؓ世界作点贡献。当然如果真的很有h|收点注册费也是应该的

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



轧钢王子 2008-01-06 23:55 发表评论
]]>
վ֩ģ壺 AVרAVJULIA| һѹۿ| 99reƵƷ| ۺϹһ| ߹ۿ԰Ƶ| ĻӰѹۿ| þĻ| | avԴվavַ| ޵Ӱѹۿ| 77777ҹþö| Ƶ߹ۿַ| ͵͵ĸ| ƷƵһ| ţţ߾Ʒۿ| AVҹ丣㽶149| ߹ۿ| ޸Ƶ߲| 91ƷѾþþþþþþ| Ӱ| պƵ | ޵һҳ߲| žѹۿ嶯4| йchina[ձ| պƵ| һƵѹۿ| AVһ| ѲvƬ߹ۿ | ƷѾþþþùһ| ޾ƷĻ| Ļ1515hhþ| ҹ޾Ʒ| ɫɫwww˿| 100018Ƶ| Ļav| ɫͼۺ| þó˹Ʒ| 鵺̳߹ۿ| avһ| ɫƷһ234| ѸAëƬ߲|