mysql和oracle語法異同

2021-10-01 21:14:11 字數 1710 閱讀 8083

一、mysql裡的ifnull(a,b)對應oracle的nvl(a,b);

二、日期比較:mysql: 可以用date型別的日期進行比較時間比較。oracle:必須用to_date()函式和to_char()函式配合轉換成統一格式的日期字串,然後進行比較。

三、mysql: 可以用year(),month(),now()等函式獲取年/月/當前日期等。oracle:必須用to_char(sysdate, 『yyyy』),to_char(sysdate, 『mm』)獲取。

四、日期轉換:mysql:date_format(t.czsj,』%y-%m-%d』)。oracle:to_char(t.czsj,『yyyy-mm-dd』)

五、表的建立和注釋:

mysql語法:

create tablegx_yy_zd_jtgx(

dmvarchar(6) not null comment 『**』,

mcvarchar(50) default null comment 『名稱』,

is_deleteint(1) default 『0』 comment 『是否刪除(0:未刪除,1:刪除)』,

primary key (dm),

unique keycatename(mc)

) engine=myisam default charset=utf8 row_format=dynamic comment=『家庭關係字典表_與戶主關係』;

oracle語法(不能有``符號,注釋另外新增):

create table tablename(

columnname1 int,

columnname2 int

comment on column table.name is 『姓名』;

六、新增列

mysql:

alter table gx_yy_zd_sqlx add column sftysq varchar(1) comment 『是否通用申請(0:否,1:是)』;

oracle:

alter table tablename add columnname1 int;

alter table tablename add (columnname1 int, columnname2 int);

七、刪除列

mysql:

alter table tablename drop column columnname1

oracle:

alter table tablename drop column columnname2

八、修改列名

mysql:

alter table tablename change column columnnameold columnnamenew columntype;

oracle:

alter table tablename rename column columnnameold to columnnamenew;

九、空字串問題

oracle中空字串』『就是null(也就是說,只有null,沒有空字元),而mysql是區分null和』'的。

十、連線字串

oracle:可以使用「||」進行拼接。

mysql:可以使用concat(a,b)

oracle語法轉mysql語法

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

mysql和oracle的語法上的差異

mysql 子查詢必須寫表別名 delete語句不能使用表別名 分頁查詢用limit關鍵字 主鍵自增長 limit在order by 子句的後面 where condition order by condition limit num 關鍵字前後必須有空格 如 order前 必須要有空格 一些表示式...

Oracle 92語法和99語法

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