IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類(lèi)|軟件專(zhuān)題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁(yè)數(shù)據(jù)庫(kù)MYSQL → mysql和oracle常用內(nèi)容比較

mysql和oracle常用內(nèi)容比較

時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)

  注釋

  oracle使用的是:–(兩個(gè)-) ,批量注釋 /**/ 。

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

  通配符的使用

  mysql和oracle都支持通配符’%',用以模糊查詢,mysql還可以用instr(para1,para2)函數(shù)來(lái)做匹配查詢,速度更快,para1是原字符串,可以是表的字段,para2是需要匹配到的字符串。

  自增長(zhǎng)數(shù)據(jù)類(lèi)型的處理

  oracel沒(méi)有自動(dòng)增長(zhǎng)的數(shù)據(jù)類(lèi)型,需要建立序列號(hào),插入記錄時(shí),對(duì)該序列號(hào)使用nextval方法獲取數(shù)據(jù)值。

  mysql有自動(dòng)增長(zhǎng)的數(shù)據(jù)類(lèi)型,插入記錄時(shí)不用操作該字段,自動(dòng)獲取增長(zhǎng)值。

  字符串單引號(hào)雙引號(hào)的處理

  oracel只能使用單引號(hào)包起字符串。

  mysql對(duì)字符串可以使用單引號(hào)和雙引號(hào),兩個(gè)都支持。

  按位與函數(shù)

  oracle的按位與操作是: bitand(),按位或:bitor() 、按位異或:bitxor() 。

  eg:select bitand(3,2) from dual ;

  mysql的按位與是 & ,按位或:| 、按位異或: ^ 。

  eg:select 3&2 ;

  from子句

  mysql可以沒(méi)有from字句,oracle則是需要的,如查詢系統(tǒng)當(dāng)前時(shí)間:

  oracle:

  select sysdate from dual

  mysql:

  select sysdate();

  查詢結(jié)果數(shù)據(jù)分頁(yè)

  orale使用rowmum限制查詢返回的總行數(shù),是oracle系統(tǒng)順序分配查詢返回的行的編號(hào),返回的第一行分配的是1。

  因?yàn)閞ownum總是從1開(kāi)始,當(dāng)rownum=n或rownum>n時(shí)(n>1的自然數(shù)),系統(tǒng)認(rèn)為是false條件,所以無(wú)法查到。即rownum只支持小于判斷,用于返回多少條以內(nèi)的記錄.如果想要返回的記錄是一個(gè)區(qū)間,需要定義一個(gè)子查詢,并且為子查詢的rownum命名一個(gè)別名.如想要返回一個(gè)表的第二條和第三條記錄:

  select * from (select rownum no,col1,col2 from table where rownum=2

  另外,rownum不能以任何表的名稱(chēng)作為前綴。

  mysql使用limit分頁(yè),limit 子句可以被用于強(qiáng)制 select語(yǔ)句返回指定的記錄數(shù)。limit接受一個(gè)或兩個(gè)數(shù)字參數(shù)。參數(shù)必須是一個(gè)整數(shù)常量。第一個(gè)參數(shù)指定第一個(gè)返回記錄行的偏移量,可缺省,默然為0,第二個(gè)參數(shù)指定返回記錄行的最大數(shù)目。初始記錄行的偏移量是 0。

  eg:select * from table limit 5,10; #檢索記錄行 6-15

  #為了檢索從某一個(gè)偏移量到記錄集的結(jié)束所有的記錄行,可以指定第二個(gè)參數(shù)為 -1 :

  select * from table limit 95,-1; # 檢索記錄行 96-last.

  #如果只給定一個(gè)參數(shù),它表示返回最大的記錄行數(shù)目:

  select * from table limit 5; # 檢索前 5 個(gè)記錄行,換句話說(shuō),limit n 等價(jià)于 limit 0,n。

  日期字段處理

  orale日期字段只有date,mysql日期字段分date和time兩種。

  oracle的時(shí)間系統(tǒng)函數(shù)是sysdate。

  mysql:

  current_date/curdate() ,以’YYYY-MM-DD’或YYYYMMDD格式返回今天日期值,取決于函數(shù)是在一個(gè)字符串還是數(shù)字上下文被使用。

  current_time/curtime() ,以’HH:MM:SS’或HHMMSS格式返回當(dāng)前時(shí)間值,取決于函數(shù)是在一個(gè)字符串還是在數(shù)字的上下文被使用。

  now()/sysdate(),以’YYYY-MM-DD HH:MM:SS’或YYYYMMDDHHMMSS格式返回當(dāng)前的日期和時(shí)間,取決于函數(shù)是在一個(gè)字符串還是在數(shù)字的上下文被使用.

  now()/sysdate()函數(shù)以’YYYY-MM-DD HH:MM:SS’返回當(dāng)前的日期時(shí)間,可以直接存到datetime字段中。curdate()以’YYYY-MM-DD’的格式返回今天的日期,可以直接存到DATE字段中。CURTIME()以’HH:MM:SS’的格式返回當(dāng)前的時(shí)間,可以直接存到TIME字段中。

  查詢一個(gè)表,其日期字段date_col的值系統(tǒng)時(shí)間30天以內(nèi)

  oracle

  SELECT * FROM table WHERE date_col >= sysdate – 30

  mysql:

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

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

  日期格式

  oracle 使用to_char()函數(shù)

  select to_char(sysdate,’yyyy-mm-dd’) from dual;

  select to_char(sysdate,’hh24:mi:ss’) from dual;

  mysql 使用date_format() 或 time_format()

  select date_format(now(),’%Y-%m-%d’);

  select time_format(now(),’%H-%i-%S’);

關(guān)鍵詞標(biāo)簽:mysql,oracle

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門(mén)文章 Xbox Game Pass Xbox Game Pass 10款MySQL數(shù)據(jù)庫(kù)客戶端圖形界面管理工具推薦 10款MySQL數(shù)據(jù)庫(kù)客戶端圖形界面管理工具推薦 MySQL常用維護(hù)管理工具 MySQL常用維護(hù)管理工具 MySQL數(shù)據(jù)庫(kù)啟動(dòng)失敗1067進(jìn)程意外終止的解決辦法總結(jié) MySQL數(shù)據(jù)庫(kù)啟動(dòng)失敗1067進(jìn)程意外終止的解決辦法總結(jié)

相關(guān)下載

    人氣排行 10款MySQL數(shù)據(jù)庫(kù)客戶端圖形界面管理工具推薦 MySQL數(shù)據(jù)庫(kù)啟動(dòng)失敗1067進(jìn)程意外終止的解決辦法總結(jié) Mysql 1045錯(cuò)誤解決辦法 MySQL服務(wù)器進(jìn)程CPU占用100%解決辦法 MySQL導(dǎo)出導(dǎo)入命令的用例 MySQL連接字符串的實(shí)際操作步驟匯總 MySQL無(wú)法啟動(dòng)、無(wú)法停止各種解決方法總結(jié) 三種常用的MySQL建表語(yǔ)句