一、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 TABLE `GX_YY_ZD_JTGX` (
`DM` VARCHAR(6) NOT NULL COMMENT '程式碼',
`MC` VARCHAR(50) DEFAULT NULL COMMENT '名稱',
`IS_DELETE` INT(1) DEFAULT '0' COMMENT '是否刪除(0:未刪除,1:刪除)',
PRIMARY KEY (`DM`),
UNIQUE KEY `catename` (`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)
十一、資料型別
十二、使用者許可權
[admin via ] mysql和oracle語法異同已經有396次圍觀