一杯凉水

我求的只是几滴水,神给的却是一杯.神的恩典总是这样丰丰富富,超过我所求所想的.感谢主!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

SQLServer和Oracle常用函数对比

Posted on 2005-12-27 11:33  摩纳哥  阅读(250)  评论(0编辑  收藏  举报
SQLServer和Oracle常用函数对比 数学函数  
1.绝对值  S:selectabs(-1)value   O:selectabs(-1)valuefromdual   
2.取整(大)   S:selectceiling(-1.001)value   O:selectceil(-1.001)valuefromdual   
3.取整(小)  S:selectfloor(-1.001)value   O:selectfloor(-1.001)valuefromdual   
4.取整(截取)  S:selectcast(-1.002asint)value   O:selecttrunc(-1.002)valuefromdual   
5.四舍五入  S:selectround(1.23456,4)value1.23460   O:selectround(1.23456,4)valuefromdual1.2346   
6.e为底的幂  S:selectExp(1)value2.7182818284590451   O:selectExp(1)valuefromdual2.71828182   
7.取e为底的对数  S:selectlog(2.7182818284590451)value1   O:selectln(2.7182818284590451)valuefromdual;1   8.取10为底对数  S:selectlog10(10)value1   O:selectlog(10,10)valuefromdual;1   
9.取平方  S:selectSQUARE(4)value16   O:selectpower(4,2)valuefromdual16   
10.取平方根  S:selectSQRT(4)value2   O:selectSQRT(4)valuefromdual2   
11.求任意数为底的幂  S:selectpower(3,4)value81   O:selectpower(3,4)valuefromdual81   
12.取随机数  S:selectrand()value   O:selectsys.dbms_random.value(0,1)valuefromdual;   
13.取符号  S:selectsign(-8)value-1   O:selectsign(-8)valuefromdual-1   
14.圆周率  S:SELECTPI()value3.1415926535897931   O:不知道  
15.sin,cos,tan参数都以弧度为单位  例如:selectsin(PI()/2)value得到1(SQLServer)  
16.Asin,Acos,Atan,Atan2返回弧度  
17.弧度角度互换(SQLServer,Oracle不知道)   DEGREES:弧度-〉角度  RADIANS:角度-〉弧度数值间比较  
18.求集合最大值  S:selectmax(value)valuefrom   (select1value   union   select-2value   union   select4value   union   select3value)a   O:selectgreatest(1,-2,4,3)valuefromdual   
19.求集合最小值  S:selectmin(value)valuefrom   (select1value   union   select-2value   union   select4value   union   select3value)a   O:selectleast(1,-2,4,3)valuefromdual   
20.如何处理null值(F2中的null以10代替)   S:selectF1,IsNull(F2,10)valuefromTbl   O:selectF1,nvl(F2,10)valuefromTbl   
21.求字符序号  S:selectascii('a')value   O:selectascii('a')valuefromdual   
22.从序号求字符  S:selectchar(97)value   O:selectchr(97)valuefromdual   
23.连接  S:select'11'+'22'+'33'value   O:selectCONCAT('11','22')  33valuefromdual
23.子串位置--返回3   S:selectCHARINDEX('s','sdsq',2)value   O:selectINSTR('sdsq','s',2)valuefromdual   23.模糊子串的位置--返回2,参数去掉中间%则返回7   S:selectpatindex('%d%q%','sdsfasdqe')value   O:oracle没发现,但是instr可以通过第四个参数控制出现次数  selectINSTR('sdsfasdqe','sd',1,2)valuefromdual返回6   
24.求子串  S:selectsubstring('abcd',2,2)value   O:selectsubstr('abcd',2,2)valuefromdual   
25.子串代替返回aijklmnef   S:SELECTSTUFF('abcdef',2,3,'ijklmn')value   O:SELECTReplace
    ('abcdef','bcd','ijklmn')valuefromdual   
26.子串全部替换  S:没发现  O:selectTranslate('fasdbfasegas','fa','我')valuefromdual   
27.长度  S:len,datalength   O:length