MySQL与Oracle 差异比较之一数据类型 客官°小女子只卖身不卖艺 2022-06-12 02:39 166阅读 0赞 ## [MySQL与Oracle 差异比较之一数据类型][MySQL_Oracle] ## * **数据类型** <table style="border:1px solid silver; border-collapse:collapse; word-break:break-word; width:980px"> <tbody> <tr style="background-color:rgb(108,147,136)"> <td style="border:1px solid silver; border-collapse:collapse; padding:3px; text-align:center"> <span style="color:rgb(0,0,255)"><strong><span style="font-size:16px">编号</span></strong></span></td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px; text-align:center"> <span style="color:rgb(0,0,255); font-size:18px"><strong>ORACLE</strong></span></td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px; text-align:center"> <span style="color:rgb(0,0,255)"><strong><span style="font-size:16px">MYSQL</span></strong></span></td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px; text-align:center"> <span style="color:rgb(0,0,255)"><strong><span style="font-size:16px">注释</span></strong></span></td> </tr> <tr> <td align="right" style="border:1px solid silver; border-collapse:collapse; padding:3px; text-align:center"> 1</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> NUMBER</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> int / DECIMAL</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> DECIMAL<span>就是</span><span>NUMBER(10,2)</span><span>这样的结构</span><span>INT</span><span>就是是</span><span>NUMBER(10)</span><span>,表示整型;<br> </span><span>MYSQL</span><span>有很多类</span><span>int</span><span>型,</span><span>tinyint mediumint bigint</span><span>等,不同的</span><span>int</span><span>宽度不一样</span></td> </tr> <tr> <td align="right" style="border:1px solid silver; border-collapse:collapse; padding:3px; text-align:center"> 2</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> Varchar2<span>(</span><span>n</span><span>)</span></td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> varchar(n)</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> </td> </tr> <tr> <td align="right" style="border:1px solid silver; border-collapse:collapse; padding:3px; text-align:center"> 3</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> Date</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> DATATIME</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> <span>日期字段的处理<br> </span><span>MYSQL</span><span>日期字段分</span><span>DATE</span><span>和</span><span>TIME</span><span>两种,</span><span>ORACLE</span><span>日期字段只有</span><span>DATE</span><span>,包含年月日时分秒信息,用当前数据库的系统时间为</span><span> SYSDATE, </span><span>精确到秒,或者用字符串转换成日期型函数</span><span>TO_DATE(‘2001-08-01’,’YYYY-MM-DD’)</span><span>年</span><span>-</span><span>月</span><span>-</span><span>日</span><span> 24</span><span>小时</span><span>:</span><span>分钟</span><span>:</span><span>秒</span><span>的格式</span><span>YYYY-MM-DD HH24:MI:SS TO_DATE()</span><span>还有很多种日期格式</span><span>, </span><span>可以参看</span><span>ORACLE DOC.</span><span>日期型字段转换成字符串函数</span><span>TO_CHAR(‘2001-08-01’,’YYYY-MM-DD HH24:MI:SS’)<br> <br> </span><span>日期字段的数学运算公式有很大的不同。</span><span>MYSQL</span><span>找到离当前时间</span><span>7</span><span>天用</span><span>DATE_FIELD_NAME </span><span>></span><span> SUBDATE</span><span>(</span><span>NOW</span><span>(),</span><span>INTERVAL 7 DAY</span><span>)</span><span>ORACLE</span><span>找到离当前时间</span><span>7</span><span>天用</span><span> DATE_FIELD_NAME </span><span>></span><span>SYSDATE - 7;<br> <br> MYSQL</span><span>中插入当前时间的几个函数是:</span><span>NOW()</span><span>函数以</span><span>`'YYYY-MM-DD HH:MM:SS'</span><span>返回当前的日期时间,可以直接存到</span><span>DATETIME</span><span>字段中。</span><span>CURDATE()</span><span>以</span><span>’YYYY-MM-DD’</span><span>的格式返回今天的日期,可以直接存到</span><span>DATE</span><span>字段中。</span><span>CURTIME()</span><span>以</span><span>’HH:MM:SS’</span><span>的格式返回当前的时间,可以直接存到</span><span>TIME</span><span>字段中。例:</span><span>insert into tablename (fieldname) values (now())<br> <br> </span><span>而</span><span>oracle</span><span>中当前时间是</span><span>sysdate</span></td> </tr> <tr> <td align="right" style="border:1px solid silver; border-collapse:collapse; padding:3px; text-align:center"> 4</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> INTEGER</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> int / INTEGER</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> Mysql<span>中</span><span>INTEGER</span><span>等价于</span><span>int</span></td> </tr> <tr> <td align="right" style="border:1px solid silver; border-collapse:collapse; padding:3px; text-align:center"> 5</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> EXCEPTION</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> SQLEXCEPTION </td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> 详见<<2009001-eService-O2MG.doc>>中2.5 Mysql异常处理</td> </tr> <tr> <td align="right" style="border:1px solid silver; border-collapse:collapse; padding:3px; text-align:center"> 6</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> CONSTANT VARCHAR2(1)</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> mysql中没有CONSTANT关键字</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> 从ORACLE迁移到MYSQL,所有CONSTANT常量只能定义成变量</td> </tr> <tr> <td align="right" style="border:1px solid silver; border-collapse:collapse; padding:3px; text-align:center"> 7</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> TYPE g_grp_cur IS REF CURSOR;</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> 光标 : mysql中有替代方案</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> 详见<<2009001-eService-O2MG.doc>>中2.2 光标处理</td> </tr> <tr> <td align="right" style="border:1px solid silver; border-collapse:collapse; padding:3px; text-align:center"> 8</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> TYPE unpacklist_type IS TABLE OF VARCHAR2(2000) INDEX BY BINARY_INTEGER;</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> 数组: mysql中借助临时表处理<br> 或者直接写逻辑到相应的代码中,<br> 直接对集合中每个值进行相应的处理</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> 详见<<2009001-eService-O2MG.doc>>中2.4 数组处理</td> </tr> <tr> <td align="right" style="border:1px solid silver; border-collapse:collapse; padding:3px; text-align:center"> 9</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> 自动增长的序列</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> 自动增长的数据类型</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> MYSQL<span>有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。</span><span>ORACLE</span><span>没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。</span></td> </tr> <tr> <td align="right" style="border:1px solid silver; border-collapse:collapse; padding:3px; text-align:center"> 10</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> NULL</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> NULL</td> <td style="border:1px solid silver; border-collapse:collapse; padding:3px"> 空字符的处理<br> <span>MYSQL</span><span>的非空字段也有空的内容,</span><span>ORACLE</span><span>里定义了非空字段就不容许有空的内容。按</span><span>MYSQL</span><span>的</span><span>NOT NULL</span><span>来定义</span><span>ORACLE</span><span>表结构</span><span>, </span><span>导数据的时候会产生错误。因此导数据时要对空字符进行判断,如果为</span><span>NULL</span><span>或空字符,需要把它改成一个空格的字符串。</span></td> </tr> </tbody> </table> [MySQL_Oracle]: http://www.cnblogs.com/HondaHsu/p/3641116.html
相关 Oracle和MySQL等数据库使用差异:Java连接MySQL与Oracle示例 在Java中,我们通常使用JDBC(Java Database Connectivity)来连接Oracle和MySQL数据库。以下分别是两个例子: **连接MySQL数据库 Bertha 。/ 2024年09月10日 02:18/ 0 赞/ 10 阅读
相关 MySQL与Oracle 差异比较——函数。 <table> <tbody> <tr style="background-color:13ebe7"> <td style="text-align:cent た 入场券/ 2024年02月18日 19:40/ 0 赞/ 36 阅读
相关 Mysql与Oracle函数差异以及SQL对比 由于公司业务原因,接触到的数据也比较多,最常用的就是Mysql和Oracle SQL语法大同小异,最主要是经常使用的函数有些差异 1. GROUP\_CONCAT函数 桃扇骨/ 2023年09月25日 21:33/ 0 赞/ 18 阅读
相关 ds数据与mysql_比较CCDS数据库和R包内置数据集的差异 因为昨天看到了TxDb.Hsapiens.UCSC.hg38.knownGene 包来获取基因的坐标及长度跟其它主流数据库有差异,所以今天彻底比较一下TxDb.Hsapiens 青旅半醒/ 2022年10月23日 04:58/ 0 赞/ 141 阅读
相关 MySQL与Oracle 数据类型比较 转自http://www.cnblogs.com/HondaHsu/p/3641116.html <table style="width:980px"> 川长思鸟来/ 2022年08月08日 12:42/ 0 赞/ 190 阅读
相关 MySQL Study之--MySQL数据类型与Oracle数据类型对比 MySQL Study之--MySQL数据类型与Oracle数据类型对比 一、案例分析: Oracle 脚本: CONNECT SCOTT/tiger 傷城~/ 2022年08月03日 00:51/ 0 赞/ 212 阅读
相关 Oracle收集表的数据与统计信息差异 有时候有这样的烦恼,由于dmp增量到数据库中,或是大批量数据操作后没有收集表的统计信息,导致数据库性能慢。要手工写脚本检查。 drop table gather\_tc àì夳堔傛蜴生んèń/ 2022年07月28日 01:20/ 0 赞/ 184 阅读
相关 MySQL与Oracle 差异比较之一数据类型 [MySQL与Oracle 差异比较之一数据类型][MySQL_Oracle] 数据类型 <table style="border:1px solid silve 客官°小女子只卖身不卖艺/ 2022年06月12日 02:39/ 0 赞/ 167 阅读
相关 MySQL 与oracle 字符串拼接 比较 1.oracle 字符串拼接:|| select '1' || '2' from dual; 2.MySQL 字符串拼接:concat(a,b) select conca £神魔★判官ぃ/ 2022年05月11日 00:00/ 0 赞/ 217 阅读
还没有评论,来说两句吧...