mysql和oracle的語法上的差異

2021-07-07 06:06:16 字數 1323 閱讀 4323

mysql:

子查詢必須寫表別名

delete語句不能使用表別名

分頁查詢用limit關鍵字

主鍵自增長

limit在order by 子句的後面  where condition order by  condition limit num

關鍵字前後必須有空格 如 order前 必須要有空格

一些表示式必須連續的寫,如》= 中間不能含有空格

oracle:以上所列不必遵守 

分頁用rownum關鍵字,且在order by 語句的前面    where condition and rownum <10 order by condition

order的主鍵生成方式,一般用序列生成seq

oracle獨有的函式:

to_date(將字串型別的資料轉化成時間型別)  to_date(column,'yyyy-mm-dd hh24:mi:ss')

to_char(將時間型別的資料轉化成字串型別) to_char(column ,'yyyy-mm-dd hh24:mi:ss')

sysdate 獲取資料庫所在伺服器的時間

decode 可以轉義為case when …… then …… when …… then ……end 的形式

nvl 可以轉義為 case when …… then …… else …… end 的形式

start   with …… connect by prior 樹結構的資料

wmsys>wm_concat 將資料的行格式轉化成列的形式

rownumber() over( partition by col1 order by col2):按照col1欄位分組並按照欄位col2進行排序

查詢指定資料庫'csdb'是否存在表名為'student': mysql:

select count(*) from information_schema.tables where table_schema='csdb' and table_type='base table' and table_name ='student';

查詢指定資料庫'csdb'中指定表'users'的所有欄位名column_name

select column_name from information_schema.columns where table_schema='csdb' and table_name='users'

oracle: select count(*) from user_tables where table_name='student'

mysql和oracle語法異同

一 mysql裡的ifnull a,b 對應oracle的nvl a,b 二 日期比較 mysql 可以用date型別的日期進行比較時間比較。oracle 必須用to date 函式和to char 函式配合轉換成統一格式的日期字串,然後進行比較。三 mysql 可以用year month now ...

oracle語法轉mysql語法

連線字串 concat decode case when else end 行轉列 wm concat group concat nvl ifnull 通用 coalesce 字段,指定值 返回括號裡第乙個不為null的資料,且字段值和指定值型別必須一樣 nvl2 if isnull 欄位名 0 1...

Oracle 92語法和99語法

笛卡爾積 使用的字段,是多個表中存在的,指定欄位的 select empno,emp.deptno from emp,dept 等值連線 可以是相同名字的字段,也可以是非相同名字的字段,但是要保證兩個欄位的型別相同 select from emp,dept where emp.deptno dept...