日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

c从oracle到mysql移植_数据库从oracle移植到mysql时需要进行的修改

發布時間:2025/3/8 数据库 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c从oracle到mysql移植_数据库从oracle移植到mysql时需要进行的修改 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

分頁方式不同,oracle使用rownum,mysql使用limit

使用hibernate的QBC不用修改,但hql和sql都應該用統一方法修改

mysql子查詢必須帶別名

select * from (select * from city where city_id = 1) t? 別名(此處是t)必須加

存在差異的函數

a)日期轉字符串

Oracle寫法:

select to_char(created_time,'YYYY-MM-DD HH24:MI:SS') from city where rownum <2;

Mysql寫法:

select date_format(created_time,'%Y-%m-%d %T') from city limit 1;

b)字符串轉日期

Oracle寫法:

select to_date('2008-08-08 08:08:08','YYYY-MM-DD HH24:MI:SS') from dual;

Mysql寫法:

SELECT STR_TO_DATE('2008-08-08 08:08:08','%Y-%m-%d %T');

c)Oracle中decode函數

這個函數在Mysql中也有,不過功能完全不同,建議改成case語句形式

Oracle中:

select country_code,decode(country_code,'PRC','中國','USA','美國','其他') as country_name from city;

等價的case語句形式:

select country_code,(case country_code when 'PRC' then '中國' when 'USA' then '美國' else '其他' end) country_name from city;

而且第二個語句是標準Sql語法,Mysql和Oracle中都可以運行

d)字符串截斷函數

Oracle中是substr,Mysql支持substr/substring兩種寫法,使用方法也相同

Mysql中”delete”后面必須帶”from”關鍵字

避免使用子查詢,Mysql中子查詢效率較低,建議改成join方式

Mysql中沒有序列,主鍵需要更改為自增長

Mysql對存儲過程支持很差,不要在Mysql中使用存儲過程

Where子句里不要在字段上使用函數,Mysql沒有函數索引

a)如果使用了lower或upper函數,如果沒有大小寫敏感的需求,建議將Mysql的數據庫字符集改為大小寫不敏感,之后移除lower和upper函數

b)如果使用了日期轉換函數進行比較,可以將轉換函數右移到常量上

Mysql中沒有位圖索引

總結

以上是生活随笔為你收集整理的c从oracle到mysql移植_数据库从oracle移植到mysql时需要进行的修改的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。