-
字符串拼接:
- MySQL:
CONCAT()
函数,例如:SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees;
- Oracle:双竖线(||),例如:
SELECT first_name || ' ' || last_name AS full_name FROM employees;
- MySQL:
-
获取当前日期和时间:
- MySQL:
NOW()
函数,例如:SELECT NOW();
- Oracle:
SYSDATE
关键字,例如:SELECT SYSDATE FROM dual;
- MySQL:
-
分页查询:
- MySQL:
LIMIT
和OFFSET
,例如:SELECT * FROM employees LIMIT 10 OFFSET 20;
- Oracle:
ROWNUM
,例如:SELECT * FROM (SELECT * FROM employees WHERE ROWNUM <= 30) WHERE ROWNUM >= 21;
- MySQL:
-
空值处理:
- MySQL:
IFNULL()
函数,例如:SELECT IFNULL(column_name, 'default_value') FROM table_name;
- Oracle:
NVL()
函数,例如:SELECT NVL(column_name, 'default_value') FROM table_name;
- MySQL:
-
日期函数:
- 例如MySQL中的
DATE_FORMAT()
函数和Oracle中的TO_CHAR()
函数的语法稍有差异。
- 例如MySQL中的
-
自增字段:
- MySQL:一般使用
AUTO_INCREMENT
关键字来创建自增字段,例如:CREATE TABLE table_name (id INT AUTO_INCREMENT PRIMARY KEY, ...);
- Oracle:可以使用序列(Sequence)来模拟自增字段,或者使用
IDENTITY
列选项(在Oracle 12c及以上版本中),例如:CREATE TABLE table_name (id NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY PRIMARY KEY, ...);
- MySQL:一般使用
Oracle和MySQL在语法方面的一些主要区别:
最新推荐文章于 2024-03-25 01:04:42 发布