北京华夏安泰技术论坛

 找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需要一步,快速开始

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 397|回复: 2

mysql orical函数对照

[复制链接]

13

主题

214

帖子

872

积分

内部工作人员

积分
872
发表于 2017-8-9 20:36:12 | 显示全部楼层 |阅读模式
本帖最后由 leiql 于 2017-9-21 11:53 编辑

1. MYSQL  ROUND(x,y)函数对操作数进行四舍五入操作,结果保留小数点后面指定y位  
    ORICAL 相同

2.  MYSQL  DATE_FORMAT(SYSDATE(), '%Y-%m-%d %h:%i %s')转化date 为字符串
ORICAL  TO_CHAR(sysdate, 'yyyy-MM-dd hh:mi:ss')

3. MYSQL   str_to_date('2014-04-22 15:47:06','%Y-%m-%d %H:%i:%s') 转化字符串为date
ORIC
AL  TO_DATE('2014-04-22 15:47:06','yyyy-MM-dd hh24:mi:ss')

4.
MYSQL FORMAT(1345.13,2)   格式化数据为整数或者浮点数
    ORICAL   TO_CHAR(1345.13,'FM9999999.00')

5. MYSQL DATE_ADD(mydate,INTERVAL days day) 在日期mydate加上 days 天
  
ORICAL 用 mydate + days 实现

6. MYSQL  IFNULL(a,b) 如果a=null, 则返回b
  ORICAL  NVL(a,b)

7.
MYSQL CONCAT('A','B','C',……)  字符串拼接函数 MYSQL的CONCAT 支持多参数
    ORICAL 也有
CONCAT('A','B') 函数,不过只支持两个参数
             另外 ORICAL 的字符串拼接多用 || 实现
                    MYSQL 也有 || 不过它不是字符串拼接

8. 在调用函数时
   比如 SELECT CONCAT('A','B') FROM DUAL;
   对于() ORICAL 中英文都可以
   但是MYSQL 必须 是英文字符

9. 关于 '' 与 null 的问题
    这个问题,我遇到了好多遍  
比如 有个表 person 有 id, name, gender 几个字段 它们都是字符串类型的
  你 insert into person(id, name) ...
   对与 gender  字段 orical 会认为它是null
  而mysql 会存入 ‘’
  因此在写查询条件 判断某值 is null 时,应考滤 = ‘’ 的情况  

10. 关于 截取子字符串 substr(str, pos, len)  
           str 是要截取的字符串
           pos 开始位置 传入负数从倒数第几位开始
           len 截取长度
  
orical与mysql 大体一样,略有不同
  pos 参数 orical 传入 0 与1 效果一样,都是从第一个字符开始截取
               mysql 传入 0  会截取不到数据
回复

使用道具 举报

4

主题

179

帖子

690

积分

内部工作人员

积分
690
发表于 2017-9-13 17:00:07 | 显示全部楼层
本帖最后由 dirk_cong 于 2017-9-13 17:07 编辑

1.  sql语句map 结果集大小写问题
在mybatis中编辑sql语句时,若选择的resultMap 为map时,则在给查询的字段取别名时,尽量使用大写;
如果使用小写的话,在使用oracle库查询时,会自动将小写的别名转换成大写形式,返回数据时数据的名称也是大写的,但若使用mysql库查询时,则不会转换别名大小写,出于兼容性考虑 , 建议大写,如果sql语句选择的结果集是自定义的Map则不需要考虑这个;图1为后台查询sql,图2为mysql传入前台的结果集,图3位oracle传入前台的结果集
图1
图2
图3

2.  在使用函数时,oracle数据库会识别 类似于 sum()  sum () 函数,但如果使用mysql库时,则只会识别 sum() 而 sum () 会默认为自定义函数不会识别,请使用时稍作留意

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册  

x
回复

使用道具 举报

13

主题

214

帖子

872

积分

内部工作人员

积分
872
 楼主| 发表于 2018-2-13 11:32:12 | 显示全部楼层
select 1 from dual where '' is null   
mysql  结果为1
orical 结果 null

select 1 from dual where '  '  = '       '

mysql / orical 结果都为1, 但orical 长度>0 否则为null
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则


小黑屋|手机版|Archiver|北京华夏安泰技术论坛  

GMT+8, 2019-1-23 06:38 , Processed in 0.109375 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表