| 差异 | mysql | oracle |
|---|---|---|
| 时间类型 | DateTime | Date |
| varchar | varchar(n) | varchar2(n) |
| 精确数 | decimal(5,1) | Number(5,1) |
| length | char_length(str) | length(str) |
| substr(str,start,length) | start要从1开始 | start从0或1均可 |
| 时间转字符串 | date_format(now(),‘%Y-%m-%d’) | to_char(sysdate,‘YYYY-MM-DD’) |
| 字符串转时间 | str_to_date(‘2023-12-19’,‘%Y-%m-%d’) | to_date(‘2023-12-19’,‘YYYY-MM-DD’) |
| 判空 | ifnull(data,0) | nvl(data,0) |
| 条件判断 | decode(value,if1,val1,if2,val2,val) | case when value=if1 then val1 when value=if2 then val2 else val end |
| 数字转为字符串 | CAST(‘123’ AS CHAR) | to_char(123) |
| 字符串拼接 | concat(a,b) | a||b |
| 引号识别 | 单引号和双引号 | 单引号 |
| 时间函数 | now() | sysdate |
| 获取前几行 | limit | rownum |

本文对比了MySQL和Oracle中时间类型、日期处理、字符串操作、条件判断以及数据转换的语法差异,包括DateTime、Date、varchar、decimal等数据类型,以及SQL函数如date_format、to_char、str_to_date和to_date的使用方法。
616

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



