当前位置: 移动技术网 > IT编程>数据库>Oracle > oracle和mysql异同

oracle和mysql异同

2018年09月24日  | 移动技术网IT编程  | 我要评论

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} || ‘%’

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网