文章目录

  • 1、时间函数
  • 2、空值返0
  • 3、长度函数
  • 4、条件函数
  • 5、trunc()函数
  • 6、字符串整型转换函数
  • 7、引号
  • 8、字符串连接符
  • 9、空数据排序
  • 10、表(左/右)关联
  • 11、merge into

1、时间函数

mysql oracle
时间转换为字符串型时间 date_format(NOW(),’%Y-%m-%d’) to_char(sysdate, ‘YYYY-MM-DD’)
字符串型时间转换为时间类型 date_format(NOW(),’%Y-%m-%d’) to_date(‘2020-12-01’, ‘YYYY-MM-DD’)

2、空值返0

mysql oracle
IFNULL、COALESCE nvl、nvl2

说明:

  • nvl:基本语法为nvl(E1,E2),意思是E1为null就返回E2,不为null就返回E1。
  • nvl2:nvl2函数的是nvl函数的拓展,基本语法为nvl2(E1,E2,E3),意思是E1为null,就返回E3,不为null就返回E2。
  • IFNULL:基本语法为IFNULL(E1,E2),假如E1不为NULL,则返回值为E1,否则为E2。
  • COALESCE:COALESCE(value,…)是一个可变参函数,可以使用多个参数。作用:接受多个参数,返回第一个不为NULL的参数,如果所有参数都为NULL,此函数返回NULL;当它使用2个参数时,和IFNULL函数作用相同。

3、长度函数

mysql oracle
char_length(str) length(str)

4、条件函数

mysql oracle
IFNULL nvl
IF(expr1,expr2,expr3) nvl2
IF(value=val1, val2, val3)、case when DECODE

说明:

  • IF(expr1,expr2,expr3):如果expr1不为null,则返回expr2,否则返回expr3。
  • IF(value=val1, val2, val3):如果value等于val1,则返回val2,否则返回val3。
  • case when then else end:如果value等于if1,则返回val1,如果value等于if2,则返回value2…如果value等于ifn,则返回valn,否则返回val。
SELECT CASE WHEN STATUS = '1' THEN 'success' WHEN STATUS = '0' THEN 'faild'
ELSE 'error' END
FROM  SYS_SCHEDULER

5、trunc()函数

MySQL Oracle
truncate(123.123,2) TRUNC(123.123,2)

6、字符串整型转换函数

MySQL Oracle
整型转字符串 CAST(123 AS CHAR(3)) to_char(123)
字符串转整型 cast(‘123’ as SIGNED) to_number(‘123’)

7、引号

MySQL可识别双引号和单引号,Oracle只能识别单引号。

8、字符串连接符

MySQL Oracle
concat(studentname, ‘=’, studentno) studentname||’=’||studentno

9、空数据排序

MySQL

select * from USER A order by IF(ISNULL(A.REMARK),1,0),A.REMARK desc
select * from USER A order by IF(ISNULL(A.REMARK),0,1),A.REMARK desc

Oracle

SELECT * FROM USER A ORDER BY A.REMARK DESC NULLS FIRST
SELECT * FROM USER A ORDER BY A.REMARK DESC NULLS LAST

10、表(左/右)关联

Oracle左连接、右连接可以使用(+)来实现,MySQL只能使用left join ,right join等关键字。
Oracle

select * from ta, tb where ta.id = tb.id(+);  #左关联
select * from ta, tb where ta.id(+) = tb.id;  #右关联

MySQL

select * from ta left join tb on ta.id=tb.id;  #左关联
select * from ta right join tb on ta.id=tb.id; #右关联

11、merge into

   MySQL不支持(merge into),但提供的replace into 和on duplicate key update可实现相似的功能。

insert into article(id,title,content)
select '10' id, '今日新闻' title, '北京新闻' content
from article
on duplicate key
update title = values(title),content=values(content);replace into article(id,title,content)
values('10', '今日新闻','北京新闻');

总结MySQL和Oracle的语法区别相关推荐

  1. mysql 、oracle存储过程语法区别

    mysql .oracle存储过程语法区别 1.  条件语句:mysql使用elseif关键字,oracle是elsif关键字: oracle: if表达式 then 表达式: elsif 表达式: ...

  2. mysql和oracle的语法区别

    最近需要迁移项目,将数据库由Oracle改为MySQL.由于两者的语法有部分不一样,所以需要把Oracle中能用但MySQL中不能用的函数/类型等改为MySQL中能用的,以下是总结出的部分语法区别: ...

  3. MySQL与Oracle的语法区别详细对比 (转)

    Oracle和mysql的一些简单命令对比 1) SQL> select to_char(sysdate,'yyyy-mm-dd') from dual; SQL> select to_c ...

  4. MySQL与Oracle的应用区别

    关系型数据库(Oracle与MySQL优缺点.使用区别) MySQL的特点 1.性能卓越,服务稳定,很少出现异常宕机: 2.开放源代码无版本制约,自主性及使用成本低: 3.历史悠久,社区和用户非常活跃 ...

  5. mysql和oracle有什么区别

    转自:微点阅读 www.weidianyuedu.com 1. mysql和oracle都是关系型数据库,可以应用于各种平台.我们用的oracle的版本是oracle11g ,用的mysql的版本是m ...

  6. Javamysql语法转化oracle_MySQL与Oracle的语法区别详细对比

    Oracle和mysql的一些简单命令对比 1) SQL> select to_char(sysdate,'yyyy-mm-dd') from dual; SQL> select to_c ...

  7. mysql 和 oracle 的一些区别

    1.seq  在oracle中获取下一个ID可以用seq,在mysql中可以设置某列自增 但是在同时添加主从表是设置自增不好在同一个事物中处理. 结合网上提供的方法,这里写了个可以获得每个表的seq的 ...

  8. MySql和Oracle数据库的区别?

    查询当前所有的表 SQL> select * from tab; SQL> select * from cat where table_type='TABLE';//可能会有view SQ ...

  9. MySQL和Oracle的一些区别

    自动增长的数据类型处理 MySQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值.Oracle没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于 ...

最新文章

  1. SpringBoot-web开发(一): 静态资源的导入(源码分析)
  2. 性能测试之二——常用的性能测试策略
  3. 厉害!从电影花瓶到 Wi-Fi 之母,这才是乘风破浪的姐姐!
  4. 在EO中获取某字段基于表的列名
  5. Mysql日期和时间函数
  6. 多生产者_通知:生产者补贴!打卡时间!定了
  7. C语言——确定char、short、int和short变量有符号和无符号时的取值范围
  8. ubuntu下唤醒或休眠远程计算机
  9. 外星人电脑为什么那么贵_为什么百丽的鞋那么贵
  10. Mac电脑如何播放swf格式文件?
  11. 90年经典坦克大战(cocos2d-x)
  12. obj文件格式详解及示例
  13. hash表 C++的使用以及理解
  14. 教务系统选课(抢课)技巧
  15. Mac系统升级Python版本(Python2.7升级到Python3.8.2)
  16. Excel中如何找出两列数据中相同的数据,并且进行同行显示
  17. RFID建筑工地人员考勤管理解决方案——铨顺宏FUWIT
  18. SpringBoot JDBC Mysql 时区报错 serverTimezone解决方案分析
  19. 迪克体育Dick’s Sporting Goods EDI需求分析
  20. 流计算 Oceanus 限量1元秒杀,立省2000元

热门文章

  1. Lingo软件在数学建模中的常见问题
  2. 关于使用jacob插件word转pdf异常问题
  3. Redis安装教程超详细
  4. Kali dpkg-source: warning: failed to verify signature on xxx
  5. SQL挂起的解决办法 SQL Server
  6. 《机器视觉算法与应用》第3章 机器视觉算法之相机标定——学习笔记
  7. 一个有用的数据库:同花顺数据中心
  8. 中国信息化系统集成行业协会:2022年CCRC认证难度加大?通过率低?
  9. 你还不知道中国有多少人口?
  10. java oj题及答案_华为OJ答案(java版)题目2