Oracle、mysql、PostgreSQL区别列表
功能/函数/操作 | Oracle | mysql | PostgreSQL |
创建序列 | 没有序列 | -- DROP SEQUENCE seq_tache_detail_id; 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 |