oracle資料庫相容mysql的差異寫法

2022-04-01 08:33:14 字數 1515 閱讀 9419

1.sysdate改為sysdate(),或者now();

2.nvl(expr1,expr2) 改為ifnull(expr1,expr2) 

nvl2(expr1,expr2,expr3)改為 if(expr1,expr2,expr3);

3.to_date('19000101000000','yyyymmddhh24miss')改為select str_to_date('1900-01-01 00:00:00','%y-%m-%d %h:%i:%s'),寫法略有差異:

date_format(date,'%y-%m-%d') -------------->oracle中的to_char();

str_to_date(date,'%y-%m-%d') -------------->oracle中的to_date();

說明:%y:代表4位的年份

%y:代表2為的年份

%m:代表月, 格式為(01……12)

%c:代表月, 格式為(1……12)

%d:代表月份中的天數,格式為(00……31)

%e:代表月份中的天數, 格式為(0……31)

%h:代表小時,格式為(00……23)

%k:代表 小時,格式為(0……23)

%h: 代表小時,格式為(01……12)

%i: 代表小時,格式為(01……12)

%l :代表小時,格式為(1……12)

%i: 代表分鐘, 格式為(00……59)

%r:代表 時間,格式為12 小時(hh:mm:ss [ap]m)

%t:代表 時間,格式為24 小時(hh:mm:ss)

%s:代表 秒,格式為(00……59)

%s:代表 秒,格式為(00……59)

4.oracle擷取字串的函式為:substr(欄位名,起始位置,字串長度) 起始位置可從0開始,擷取結果和從1開始一樣;

mysql擷取字串的函式為:substring(欄位名,起始位置,字串長度) 起始位置必須從1開始,0開始不能獲取到資料;

5.mysql left join不能用+號代替;

6.連線字串在oracle中用|| ,sqlserver中用+,mysql中用concat('a','b','c');

7.oracle: select instr('sdsq','s',2) value from dual(要求從位置2開始)

mysql: select instr('sdsq','s') value(從預設的位置1開始);

8.instr('abcdefg', 'ab')改為locate('ab', 'abcdefg'),名字改變,引數位置互換;

9.length()改為char_length();

10.to_number('123')改為cast("123" as signed integer),帶符號整型;

11.add_months(sysdate, 2)改為date_add(sysdate(), interval 2 month);

12.mysql函式:datediff(date1,date2)兩個日期相減;

資料庫選擇 應該用oracle還是mysql

偶爾看到的一篇文字,感覺不錯,分享一下 php程式設計師前途,mysql資料庫和oracle的區別和選擇 lamp大會的時候我跟yahoo的乙個技術高管聊的時候,我問他yahoo在選擇mysql還是oracle 的 時候是怎麼考慮,他的答案令我非常驚訝。他說大部分的時候我們是會用mysql的,因為它...

mysq資料庫再次理解

1.表中的一條記錄就是乙個object,object有很多屬性,對應表中的字段。object的屬性對應的值就是字段值 2.外來鍵是關聯表關係用的。表關係的確立只能通過外來鍵 但更高效的策略是,在資料庫中部設定任何外來鍵,只是在 中進行控制。不設定外來鍵是指不指定foreign key,但是外來鍵這個...

oracle統計表資料條數 資料庫mysql總結一

資料庫是什麼?資料庫是一種用於儲存大量資料的介質。計算機中的資料就是用於儲存和管理 資料乙個大型軟體。資料庫又稱dbms database management system 資料庫管理系統,說白了就是乙個儲存和讀取資料的乙個大型軟體。常見的資料庫型別分為兩種,一種是關係型資料庫另一種是非關係型資料...