• 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)两个日期相减;

  • 相关阅读:
    币值转换
    抓老鼠啊~亏了还是赚了?
    第十二周作业
    第十一周作业
    第十周作业
    第九周作业
    第八周作业
    第七周作业
    第五周实验报告和总结
    第四次实验报告及总结
  • 原文地址:https://www.cnblogs.com/garfieldcgf/p/5498235.html
Copyright © 2020-2023  润新知