oracle数据库兼容mysql的差异写法

  1.sysdate改为sysdate(),或者now();

  2.nvl(expr1,expr2) 改为IFNULL(expr1,expr2)

    nvl2(expr1,expr2,expr3)改为 IF(expr1,expr2,expr3);

  3.to_date(‘19000101000000‘,‘yyyymmddhh24miss‘)改为select str_to_date(‘1900-01-01 00:00:00‘,‘%Y-%m-%d %H:%i:%s‘),写法略有差异:
    date_format(date,‘%Y-%m-%d‘) -------------->oracle中的to_char();
    str_to_date(date,‘%Y-%m-%d‘) -------------->oracle中的to_date();
    说明:
    %Y:代表4位的年份
    %y:代表2为的年份
    %m:代表月, 格式为(01……12)
    %c:代表月, 格式为(1……12)
    %d:代表月份中的天数,格式为(00……31)
    %e:代表月份中的天数, 格式为(0……31)
    %H:代表小时,格式为(00……23)
    %k:代表 小时,格式为(0……23)
    %h: 代表小时,格式为(01……12)
    %I: 代表小时,格式为(01……12)
    %l :代表小时,格式为(1……12)
    %i: 代表分钟, 格式为(00……59)

    %r:代表 时间,格式为12 小时(hh:mm:ss [AP]M)
    %T:代表 时间,格式为24 小时(hh:mm:ss)

    %S:代表 秒,格式为(00……59)
    %s:代表 秒,格式为(00……59)

  4.Oracle截取字符串的函数为:substr(字段名,起始位置,字符串长度) 起始位置可从0开始,截取结果和从1开始一样;

    MySql截取字符串的函数为:substring(字段名,起始位置,字符串长度) 起始位置必须从1开始,0开始不能获取到数据;

  5.MySql left join不能用+号代替;
  6.连接字符串在Oracle中用|| ,SqlServer中用+,MySQL中用concat(‘a‘,‘b‘,‘c‘);

  7.ORACLE: select INSTR(‘sdsq‘,‘s‘,2) value from dual(要求从位置2开始)
    MYSQL: select INSTR(‘sdsq‘,‘s‘) value(从默认的位置1开始);

  8.instr(‘abcdefg‘, ‘ab‘)改为locate(‘ab‘, ‘abcdefg‘),名字改变,参数位置互换;

  9.length()改为char_length();

  10.TO_NUMBER(‘123‘)改为CAST("123" AS SIGNED INTEGER),带符号整型;

  11.ADD_MONTHS(sysdate, 2)改为DATE_ADD(sysdate(), interval 2 month);

  12.MySql函数:DATEDIFF(date1,date2)两个日期相减;

时间: 2024-10-08 15:44:40

oracle数据库兼容mysql的差异写法的相关文章

使用oracle数据库和MySQL数据库时hibernate的映射文件.hbm.xml的不同

如果是使用oracle数据库,那么hibernate的映射文件.hbm.xml如下: <id name="xuehao" column="xuehao"> </id> 这个id不是数据库自动生成的,这需要注意:而且这些字段必须和实体类中相对应,实体类中还需要对应的get()方法和set()方法. 因为oracle数据库中的id都是自动生成的,所以这里不需要写数据库的id,这和MySQL数据库有很大区别:另外,MySQL数据库建表时必须指明id

Jmeter连接Mysql和Oracle数据库

一.连接Mysql数据库 所有jmeter基本组件功能本文不做介绍.jmeter要连接mysql数据库,首先得下载mysql jdbc驱动包(注:驱动包的版本一定要与你数据库的版本匹配,驱动版本低于mysql版本有可能会导致连接失败报错)我这里下载的是mysql-connector-java-5.1.28.jar 把下载的jar包放到jmeter主目录的lib\ext目录下,然后重新启动jmeter 新增一个线程组 线程组下新建一个JDBC Connection Configuration配置元

Oracle数据库分页总结

在Oracle数据库中,数据分页功能是必不可少的操作, Oracle数据库分页查询语句有三种写法: --1.根据ROWID 来分select * from nmb where rowid in(select rid from (select rownum rn,rid from (select rowid rid,userid from nmb order by userid desc )where rownum <30)where rn>20)order by userid desc;--效

Oracle数据库安装完成之后的启动操作

由于是菜鸟,在 完成Oracle数据库的安装之后,不知道该怎么启动.在经过一番折腾之后明白了其中的一些道理,总结如下: 其实Oracle数据库和Mysql数据库的启动都是相同的原理. Mysql数据库的启动是(在没有安装客户端软件的情况下一般是命令行操作) 1. 安装好Oracle之后启动出现了问题,在网页中输入: http://localhost:1158/em之后打不开数据库:但是在命令行内输入如下信息可以进入登录界面,但是要求输入用户名.安装的时候没有提示设置用户名啊!咋办?(打开命令行的

详解大数据采集引擎之Sqoop&amp;采集oracle数据库中的数据

欢迎关注大数据和人工智能技术文章发布的微信公众号:清研学堂,在这里你可以学到夜白(作者笔名)精心整理的笔记,让我们每天进步一点点,让优秀成为一种习惯! 一.Sqoop的简介: Sqoop是一个数据采集引擎/数据交换引擎,采集关系型数据库(RDBMS)中的数据,主要用于在RDBMS与HDFS/Hive/HBase之间进行数据传递,可以通过sqoop import命令将RDBMS中的数据导入到HDFS/Hive/HBase中,也可以通过sqoop export命令将HDFS/Hive/HBase中的

mysql/sqlser/oracle数据库驱动的写法

oracle数据库:  driver="oracle.jdbc.driver.OracleDriver" url = "jdbc:oracle:thin:@地址:端口:数据库名" mysql数据库: driver="com.mysql.jdbc.Driver" url = "jdbc:mysql://地址:端口/数据库名?user=root&password=root&useUnicode=true&charac

数据库学习之--Oracle 架构与MySQL架构对比

数据库学习之--Oracle 架构与MySQL架构对比 一.Oracle .MySQL应用对比 如果要说明三者的区别,首先就要从历史入手. Oracle:中文译作甲骨文,这是一家传奇的公司,有一个传奇的大老板Larry Ellision. Ellision 32岁还一事无成,读了三个大学,没得到一个学位文凭,换了十几家公司,老婆也离他而去.开始创业时只有1200美元,却使得Oracle公司连续12年销售额每年翻一番. Oracle成立于1977年,早期的理论基础,反而来自于一篇IBM的论文<A

使用Oracle SQL Developer迁移MySQL至Oracle数据库

Oracle SQL Developer是Oracle官方出品的数据库管理工具.本文使用Oracle SQL Developer执行从MySQL迁移至Oracle数据库的操作. 2017年3月6日 操作步骤: 1.在Oracle数据库中创建移植资料档案库用户 资料档案库用户不是用来接收MySQL迁移数据的用户,而是进行数据迁移配置的用户. Oracle创建用户命令如下: create user migrater identified by migrater; alter user migrate

RobotFramework读取mysql和oracle数据库

一.robotframework连接mysql数据库 1.安装databaselibrary.pymysql 通过cmd命令执行:pip install robotframework-databaselibrary cmd命令执行:pip install pymysql 2.导入DatabaseLibrary包到Robotframework 3.使用关键字对数据库进行操作 连接数据库:Connect to database using custom params 这个关键字需要传入2个参数,py