熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

mysql和oracle常用內容比較

2013-11-13 16:16:13  來源: Oracle 

  注釋

  oracle使用的是–(兩個) 批量注釋 /**/

  mysql使用的是# 批量注釋 /**/

  通配符的使用

  mysql和oracle都支持通配符%用以模糊查詢mysql還可以用instr(parapara)函數來做匹配查詢速度更快para是原字符串可以是表的字段para是需要匹配到的字符串

  自增長數據類型的處理

  oracel沒有自動增長的數據類型需要建立序列號插入記錄時對該序列號使用nextval方法獲取數據值

  mysql有自動增長的數據類型插入記錄時不用操作該字段自動獲取增長值

  字符串單引號雙引號的處理

  oracel只能使用單引號包起字符串

  mysql對字符串可以使用單引號和雙引號兩個都支持

  按位與函數

  oracle的按位與操作是 bitand()按位或bitor() 按位異或bitxor()

  egselect bitand() from dual ;

  mysql的按位與是 & 按位或| 按位異或 ^

  egselect & ;

  from子句

  mysql可以沒有from字句oracle則是需要的如查詢系統當前時間:

  oracle:

  select sysdate from dual

  mysql:

  select sysdate();

  查詢結果數據分頁

  orale使用rowmum限制查詢返回的總行數是oracle系統順序分配查詢返回的行的編號返回的第一行分配的是

  因為rownum總是從開始當rownum=n或rownum>n時(n>的自然數)系統認為是false條件所以無法查到即rownum只支持小於判斷用於返回多少條以內的記錄如果想要返回的記錄是一個區間需要定義一個子查詢並且為子查詢的rownum命名一個別名如想要返回一個表的第二條和第三條記錄:

  select * from (select rownum nocolcol from table where rownum=

  另外rownum不能以任何表的名稱作為前綴

  mysql使用limit分頁limit 子句可以被用於強制 select語句返回指定的記錄數limit接受一個或兩個數字參數參數必須是一個整數常量第一個參數指定第一個返回記錄行的偏移量可缺省默然為第二個參數指定返回記錄行的最大數目初始記錄行的偏移量是

  egselect * from table limit ; #檢索記錄行

  #為了檢索從某一個偏移量到記錄集的結束所有的記錄行可以指定第二個參數為

  select * from table limit ; # 檢索記錄行 last

  #如果只給定一個參數它表示返回最大的記錄行數目

  select * from table limit ; # 檢索前 個記錄行換句話說limit n 等價於 limit n

  日期字段處理

  orale日期字段只有datemysql日期字段分date和time兩種

  oracle的時間系統函數是sysdate

  mysql:

  current_date/curdate() YYYYMMDD或YYYYMMDD格式返回今天日期值取決於函數是在一個字符串還是數字上下文被使用

  current_time/curtime() HH:MM:SS或HHMMSS格式返回當前時間值取決於函數是在一個字符串還是在數字的上下文被使用

  now()/sysdate()YYYYMMDD HH:MM:SS或YYYYMMDDHHMMSS格式返回當前的日期和時間取決於函數是在一個字符串還是在數字的上下文被使用

  now()/sysdate()函數以YYYYMMDD HH:MM:SS返回當前的日期時間可以直接存到datetime字段中curdate()以YYYYMMDD的格式返回今天的日期可以直接存到DATE字段中CURTIME()以HH:MM:SS的格式返回當前的時間可以直接存到TIME字段中

  查詢一個表其日期字段date_col的值系統時間天以內

  oracle

  SELECT * FROM table WHERE date_col >= sysdate –

  mysql:

  select * from table where to_days(date_col) >= to_days(now()) – ;

  select date_sub(now()interval day); # select date_add(now()interval day); date_add 是增加

  日期格式

  oracle 使用to_char()函數

  select to_char(sysdateyyyymmdd) from dual;

  select to_char(sysdatehh:mi:ss) from dual;

  mysql 使用date_format() 或 time_format()

  select date_format(now()%Y%m%d);

  select time_format(now()%H%i%S);


From:http://tw.wingwit.com/Article/program/Oracle/201311/18066.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.