<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    爪哇一角

    共同探討STRUTS#HIBERNATE#SPRING#EJB等技術
    posts - 3, comments - 6, trackbacks - 0, articles - 99
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    SQLServer和Oracle的常用函數對比(轉)

    Posted on 2006-09-20 10:49 非洲小白臉 閱讀(171) 評論(0)  編輯  收藏 所屬分類: oracle

    SQLServer和Oracle的常用函數對比

    ---------數學函數

      1.絕對值
      S:select abs(-1) value
      O:select abs(-1) value from dual

      2.取整(大)
      S:select ceiling(-1.001) value
      O:select ceil(-1.001) value from dual

      3.取整(小)
      S:select floor(-1.001) value
      O:select floor(-1.001) value from dual

      4.取整(截取)
      S:select cast(-1.002 as int) value
      O:select trunc(-1.002) value from dual

      5.四舍五入
      S:select round(1.23456,4) value 1.23460
      O:select round(1.23456,4) value from dual 1.2346

      6.e為底的冪
      S:select Exp(1) value 2.7182818284590451
      O:select Exp(1) value from dual 2.71828182

      7.取e為底的對數
      S:select log(2.7182818284590451) value 1
      O:select ln(2.7182818284590451) value from dual; 1

      8.取10為底對數
      S:select log10(10) value 1
      O:select log(10,10) value from dual; 1

      9.取平方
      S:select SQUARE(4) value 16
      O:select power(4,2) value from dual 16

      10.取平方根
      S:select SQRT(4) value 2
      O:select SQRT(4) value from dual 2

      11.求任意數為底的冪
      S:select power(3,4) value 81
      O:select power(3,4) value from dual 81

      12.取隨機數
      S:select rand() value
      O:select sys.dbms_random.value(0,1) value from dual;

      13.取符號
      S:select sign(-8) value -1
      O:select sign(-8) value from dual -1
      ----------數學函數

      14.圓周率
      S:SELECT PI() value 3.1415926535897931
      O:不知道

      15.sin,cos,tan 參數都以弧度為單位
      例如:select sin(PI()/2) value 得到1(SQLServer)

      16.Asin,Acos,Atan,Atan2 返回弧度

      17.弧度角度互換(SQLServer,Oracle不知道)
      DEGREES:弧度-〉角度
      RADIANS:角度-〉弧度

      ---------數值間比較

      18. 求集合最大值
      S:select max(value) value from
      (select 1 value
      union
      select -2 value
      union
      select 4 value
      union
      select 3 value)a

      O:select greatest(1,-2,4,3) value from dual

      19. 求集合最小值
      S:select min(value) value from
      (select 1 value
      union
      select -2 value
      union
      select 4 value
      union
      select 3 value)a

      O:select least(1,-2,4,3) value from dual

      20.如何處理null值(F2中的null以10代替)
      S:select F1,IsNull(F2,10) value from Tbl
      O:select F1,nvl(F2,10) value from Tbl

      --------數值間比較

      21.求字符序號
      S:select ascii('a') value
      O:select ascii('a') value from dual

      22.從序號求字符
      S:select char(97) value
      O:select chr(97) value from dual

      23.連接
      S:select '11'+'22'+'33' value
      O:select CONCAT('11','22')||33 value from dual

      23.子串位置 --返回3
      S:select CHARINDEX('s','sdsq',2) value
      O:select INSTR('sdsq','s',2) value from dual

      23.模糊子串的位置 --返回2,參數去掉中間%則返回7
      S:select patindex('%d%q%','sdsfasdqe') value
      O:oracle沒發現,但是instr可以通過第四霾問刂瞥魷執問?BR>  select INSTR('sdsfasdqe','sd',1,2) value from dual 返回6

      24.求子串
      S:select substring('abcd',2,2) value
      O:select substr('abcd',2,2) value from dual

      25.子串代替 返回aijklmnef
      S:SELECT STUFF('abcdef', 2, 3, 'ijklmn') value
      O:SELECT Replace('abcdef', 'bcd', 'ijklmn') value from dual

      26.子串全部替換
      S:沒發現
      O:select Translate('fasdbfasegas','fa','我' ) value from dual

      27.長度
      S:len,datalength
      O:length

      28.大小寫轉換 lower,upper

      29.單詞首字母大寫
      S:沒發現
      O:select INITCAP('abcd dsaf df') value from dual

      30.左補空格(LPAD的第一個參數為空格則同space函數)
      S:select space(10)+'abcd' value
      O:select LPAD('abcd',14) value from dual

      31.右補空格(RPAD的第一個參數為空格則同space函數)
      S:select 'abcd'+space(10) value
      O:select RPAD('abcd',14) value from dual

      32.刪除空格
      S:ltrim,rtrim
      O:ltrim,rtrim,trim

      33. 重復字符串
      S:select REPLICATE('abcd',2) value
      O:沒發現

      34.發音相似性比較(這兩個單詞返回值一樣,發音相同)
      S:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe')
      O:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe') from dual
      SQLServer中用SELECT DIFFERENCE('Smithers', 'Smythers') 比較soundex的差
      返回0-4,4為同音,1最高

      --------------日期函數

      35.系統時間
      S:select getdate() value
      O:select sysdate value from dual

      36.前后幾日
      直接與整數相加減

      37.求日期
      S:select convert(char(10),getdate(),20) value
      O:select trunc(sysdate) value from dual
      select to_char(sysdate,'yyyy-mm-dd') value from dual

      38.求時間
      S:select convert(char(8),getdate(),108) value
      O:select to_char(sysdate,'hh24:mm:ss') value from dual

      39.取日期時間的其他部分
      S:DATEPART 和 DATENAME 函數 (第一個參數決定)
      O:to_char函數 第二個參數決定

      參數---------------------------------下表需要補充
      year yy, yyyy
      quarter qq, q (季度)
      month mm, m (m O無效)
      dayofyear dy, y (O表星期)
      day dd, d (d O無效)
      week wk, ww (wk O無效)
      weekday dw (O不清楚)
      Hour hh,hh12,hh24 (hh12,hh24 S無效)
      minute mi, n (n O無效)
      second ss, s (s O無效)
      millisecond ms (O無效)
      ----------------------------------------------

      40.當月最后一天
      S:不知道
      O:select LAST_DAY(sysdate) value from dual

      41.本星期的某一天(比如星期日)
      S:不知道
      O:SELECT Next_day(sysdate,7) vaule FROM DUAL;

      42.字符串轉時間
      S:可以直接轉或者select cast('2004-09-08'as datetime) value
      O:SELECT To_date('2004-01-05 22:09:38','yyyy-mm-dd hh24-mi-ss') vaule FROM DUAL;

      43.求兩日期某一部分的差(比如秒)
      S:select datediff(ss,getdate(),getdate()+12.3) value
      O:直接用兩個日期相減(比如d1-d2=12.3)
      SELECT (d1-d2)*24*60*60 vaule FROM DUAL;

      44.根據差值求新的日期(比如分鐘)
      S:select dateadd(mi,8,getdate()) value
      O:SELECT sysdate+8/60/24 vaule FROM DUAL;

      45.求不同時區時間
      S:不知道
      O:SELECT New_time(sysdate,'ydt','gmt' ) vaule FROM DUAL;

      -----時區參數,北京在東8區應該是Ydt-------
      AST ADT 大西洋標準時間
      BST BDT 白令海標準時間
      CST CDT 中部標準時間
      EST EDT 東部標準時間
      GMT 格林尼治標準時間
      HST HDT 阿拉斯加—夏威夷標準時間
      MST MDT 山區標準時間
      NST 紐芬蘭標準時間
      PST PDT 太平洋標準時間
      YST YDT YUKON標準時間

    主站蜘蛛池模板: 无人在线观看免费高清视频| 免费v片视频在线观看视频| 中文字幕在线观看亚洲日韩| 国产在线播放免费| 国产免费人成视频在线播放播| 亚洲第一精品福利| 国产无遮挡吃胸膜奶免费看| a级在线免费观看| 亚洲人成电影网站色www| 亚洲一级Av无码毛片久久精品| 最近最新高清免费中文字幕| 午夜在线亚洲男人午在线| 国产亚洲欧洲精品| 日本高清免费网站| 亚洲高清免费在线观看| av电影在线免费看| 亚洲色欲色欲www在线播放| 国产V亚洲V天堂A无码| 日韩在线天堂免费观看 | 18禁在线无遮挡免费观看网站| 亚洲国产成人久久综合一区| 久久亚洲精品无码播放| 免费观看成人毛片a片2008| 两个人看的www高清免费视频| 一本天堂ⅴ无码亚洲道久久| 亚洲成在人天堂在线| 亚洲午夜精品久久久久久浪潮| 久久久久久国产精品免费免费| 日韩精品免费视频| 一级成人a免费视频| 亚洲AV成人无码网天堂| 亚洲春色另类小说| 亚洲精品在线观看视频| JLZZJLZZ亚洲乱熟无码| 国产精品无码一区二区三区免费| 又大又硬又爽又粗又快的视频免费| 成年免费a级毛片免费看无码| 亚洲AⅤ男人的天堂在线观看| 亚洲国产视频网站| 91亚洲国产成人久久精品网站| 国产亚洲精品a在线观看|