首页 > 数据库 > Oracle >

oracle和mysql异同

2017-04-19

oracle和mysql异同,1,oracle没有offet,limit,在mysql中我们用它们来控制显示的行数,最多的是分页了。oracle要分页的话,要换成rownum。

1,oracle没有offet,limit,在mysql中我们用它们来控制显示的行数,最多的是分页了。oracle要分页的话,要换成rownum。

2,oracle有一个dual表,当select后没有表时,加上的。不加会报错的。select 1 这个在mysql不会报错的,oracle下会。select 1 from dual这样的话,oracle就不会报错了。

3,对空值的判断,name != “”这样在mysql下不会报错的,但是oracle下会报错。在oracle下的要换成name is not null,(innull(**))

4,oracle下对单引号,双引号要求的很死,一般不准用双引号

5,oracle有to_number,to_date这样的转换函数,oracle表字段是number型的,如果你$_POST得到的参数是123456,入库的时候,你还要to_number来强制转换一下,不然后会被当成字符串来处理。而mysql却不会。

6,group_concat这个函数,oracle是wm_concat。

7,group by,在下oracle下用group by的话,group by后面的字段必须在select后面出现,不然会报错的,而mysql却不会。

8,oracle的表字段类型也没有mysql多,并且有很多不同,例如:mysql的int,float合成了oracle的number型等。

9,oracle查询时from 表名后面 不能加上as 不然会报错的,select t.username from test as t而在mysql下是可以的。

10,Oracle截取字符串的函数为:substr(字段名,起始位置,字符串长度) 起始位置可从0开始,截取结果和从1开始一样。MySql截取字符串的函数为:substring(字段名,起始位置,字符串长度) 起始位置必须从1开始,0开始不能获取到数据。

mysql :LIKE CONCAT(‘%’, #{param.TYPE_NAME},’%’) 改成 like ‘%’|| #{param.typeName,jdbcType=VARCHAR} || ‘%’

相关文章
最新文章
热点推荐