古詩詞大全網 - 成語經典 - mysql和oracle常用內容比較

mysql和oracle常用內容比較

 註釋

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

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

 通配符的使用

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

 自增長數據類型的處理

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

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

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

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

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

 按位與函數

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

 eg select bitand( ) from dual ;

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

 eg select & ;

 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 no col col from table where rownum=

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

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

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

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

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

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

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

 日期字段處理

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

 oracle的時間系統函數是sysdate

 mysql:

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

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

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

 now()/sysdate()函數以 YYYY MM DD HH:MM:SS 返回當前的日期時間 可以直接存到datetime字段中 curdate()以 YYYY MM DD 的格式返回今天的日期 可以直接存到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(sysdate yyyy mm dd ) from dual;

 select to_char(sysdate hh :mi:ss ) from dual;

 mysql 使用date_format() 或 time_format()

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

lishixinzhi/Article/program/Oracle/201311/18066