网络资料附表: oracle 常用函数 与mysql 的对照表
发布日期:2021-05-20 09:14:41 浏览次数:28 分类:精选文章

本文共 3241 字,大约阅读时间需要 10 分钟。

Oracle 和 MySQL 函数对照表

以下是 Oracle 和 MySQL 常用函数的对照表,主要是针对数据处理、数学运算、日期时间操作等功能进行比较。

1. 数值函数

  • 绝对值

    Oracle: select abs(-1) value from dual
    MySQL: select abs(-1) value

  • 取整(大)

    Oracle: select ceil(-1.001) value from dual
    MySQL: select ceiling(-1.001) value

  • 取整(小)

    Oracle: select floor(-1.001) value from dual
    MySQL: select floor(-1.001) value

  • 取整(截取)

    Oracle: select trunc(-1.002) value from dual
    MySQL: select cast(-1.002 as int) value

  • 四舍五入

    Oracle: select round(1.23456,4) value from dual
    MySQL: select round(1.23456,4) value

  • e 为底的幂

    Oracle: select exp(1) value from dual
    MySQL: select exp(1) value

  • e 为底的对数

    Oracle: select ln(2.7182818284590451) value from dual
    MySQL: select log(2.7182818284590451) value

  • 取 10 为底对数

    Oracle: select log(10,10) value from dual
    MySQL: select log10(10) value

  • 平方

    Oracle: select power(4,2) value from dual
    MySQL: select square(4) value

  • 平方根

    Oracle: select sqrt(4) value from dual
    MySQL: select sqrt(4) value

  • 任意数为底的幂

    Oracle: select power(3,4) value from dual
    MySQL: select power(3,4) value

  • 取随机数

    Oracle: select sys.dbms_random.value(0,1) value from dual
    MySQL: select rand() value

  • 取符号

    Oracle: select sign(-8) value from dual
    MySQL: select sign(-8) value

2. 字符串函数

  • 连接字符串

    Oracle: select concat('11','22','33') value from dual
    MySQL: select '11'+'22'+'33' value

  • 子串位置

    Oracle: select instr('sdsq','s',2) value from dual
    MySQL: select charindex('s','sdsq',2) value

  • 模糊子串位置

    Oracle: select instr('sdsfasdqe','sd',1,2) value from dual
    MySQL: select patindex('%d%q%','sdsfasdqe') value

  • 子串代替

    Oracle: select replace('abcdef','bcd','ijklmn') value from dual
    MySQL: select stuff('abcdef',2,3,'ijklmn') value

  • 子串全部替换

    Oracle: select translate('fasdbfasegas','fa',' 我 ') value from dual
    MySQL: 未发现对应函数

  • 长度

    Oracle: select length('abcd') value
    MySQL: select len('abcd') value

  • 大小写转换

    Oracle: select lower('AbcD') value
    MySQL: select lower('AbcD') value

  • 左补空格

    Oracle: select lpad('abcd',14) value from dual
    MySQL: select space(10)+'abcd' value

  • 右补空格

    Oracle: select rpad('abcd',14) value from dual
    MySQL: 'abcd'+select space(10) value

  • 删除空格

    Oracle: select trim(' abc ') value
    MySQL: select trim(' abc ') value

  • 重复字符串

    Oracle: 未发现对应函数
    MySQL: select repeat('abcd',2) value

3. 日期时间函数

  • 系统时间

    Oracle: select sysdate value from dual
    MySQL: select getdate() value

  • 日期时间的其他部分

    Oracle: 使用 to_char 函数
    MySQL: 使用 DATEPARTDATENAME 函数

  • 日期与时间的格式化

    Oracle: to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') value
    MySQL: select date_format(sysdate,'%y-%m-%d %h-%i-%s') value

  • 日期与时间的加减

    Oracle: select sysdate+8/60/24 value from dual
    MySQL: select dateadd(mi,8,getdate()) value

  • 不同时区时间

    Oracle: select new_time(sysdate,'ydt','gmt') value from dual
    MySQL: 未发现对应函数

4. 特殊函数对比

  • 求集合最大值

    Oracle: select greatest(1,-2,4,3) value from dual
    MySQL: select max(value) value from (select 1 union select -2 union ... ) a

  • 求集合最小值

    Oracle: select least(1,-2,4,3) value from dual
    MySQL: select min(value) value from (select 1 union select -2 union ... ) a

  • 处理 null 值

    Oracle: select nvl(F2,10) value from Tbl
    MySQL: select ifnull(F2,10) value from Tbl

  • 字符序号与从序号求字符

    Oracle: select ascii('a') value
    MySQL: select char(97) value

5. 其他常用函数

  • 发音相似性比较
    Oracle: select soundex('Smith'), soundex('Smythe')
    MySQL: select difference('Smithers', 'Smythers')

以上对照表主要针对 Oracle 和 MySQL 的常用函数进行了对比,具体功能和使用方式可能会存在细微差异。如有更详细的需求,建议参考两家数据库的官方文档。

上一篇:SQL必知必会要点记录(5/6)
下一篇:安装redis-5.0.9版本,一主二从三哨兵集群

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月27日 14时32分38秒