Oracle、mysql、PostgreSQL区别列表
| 功能/函数/操作 | Oracle | mysql | PostgreSQL |
|
创建序列 | 没有序列 |
CREATE SEQUENCE seq_test_id | |
| 列合并(逗号分隔 |
WM_CONCAT(字段) |
string_agg(字段,',') | |
| 当前时间(时分秒) |
sysdate |
now() | now() 或者 current_timestamp |
| to_date |
to_date(字段,'yyyy-mm-dd') | DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%s') |
to_timestamp(字段,'yyyy-mm-dd') |
| dual |
dual select 'xx' from dual |
dual select 'xx' from dual | 直接 select 'xx' |
| rownum | rownum<5 | limit 5 | |
| 一行展示一列信息 | wmsys.wm_concat () | string_agg(cr.region_name,',') | |
| 序列 |
NEXTVAL seq_xx.nextval | nextval('seq_xx') | |
| instr | instr('str1','str2') | strpos('str1','str2') | |
| 类型转换 | 类型自动转换 | cast(xx as numeric) | |
| Oracle支持(+) | left join | ||
| 同义词 | Oracle支持同义词 | 用视图代替 | |
| NULL | ORACLE认为''等同于NULL | NULL和''不同 | |
| 子查询 | 可以没有别名 | 必须有别名 | |
| nvl | nvl(id,0) | coalesce(id,0) | |
| 当前登录用户 | SELECT USER FROM DUAL | select current_user | |
本文对比了Oracle、MySQL和PostgreSQL在创建序列、列合并、获取当前时间、类型转换、子查询以及处理NULL值等方面的语法差异,展示了它们各自的特点和使用场景。
6903

被折叠的 条评论
为什么被折叠?



