oracle项目移植MySQL几点体会
2009-04-08 22:51
302 查看
1、有些数据类型不一致。oracle中的date对应MysQL的DATETIME,对Oracle大的字符,MySQL没有varchar2,只有varchar;对多个字符varchar2(1000)对应MySQL中text等类型,
2、发现插入不了数据,分析程序,发现原来Oracle中插入时间是比较特殊:
to_date('"
+ DateUtil.formatTimestamp( ts ) + "', 'YYYY-MM-DD HH24:MI:SS'),
在MySQL则直接为 DateUtil.formatTimestamp( ts )就行了。不用to_date函数。
Oracle提供了一个非常好用的关键字rownum,可以限制结果集的大小。
MySQL也提供了相同a的功能,写法略有差别。
3、在Oracle表的别名是不能为as的,而MySQL则一定要有带as
4、oracle中的rownum相当于MySQL中的LimitSelect clause
[LIMIT [offset,] rows]
In Oracle
select * from table1 where rownum <= 2;
In MySQL
select * from table1 limit 0,2;
or
select * from table1 limit 2;
Usage:
我把如下的Oracle 的SQL语句成功改为MySQL的
Oracle的:
String sql = "SELECT a.articleid, a.title, a.content, a.pubdate, a.userid, a.hostip, u.nickname "
+ " FROM ( "
+ " SELECT articleid "
+ " FROM ( "
+ " SELECT articleid, rownum num "
+ " FROM ( "
+ " SELECT articleid "
+ " FROM article a "
+ " WHERE a.articleid=a.farticleid "
+ " ORDER BY pubdate desc "
+ " ) "
+ " ) "
+ " WHERE num <= " + (start + length) + " AND num > " + start
+ " ) b, article a, userinfo u "
+ " WHERE b.articleid = a.articleid AND a.userid = u.userid ";
移植到MySQL则为:
String sql = "SELECT a.articleid, a.title, a.content, a.pubdate, a.userid, a.hostip, u.nickname "
+ " FROM ( "
+ " SELECT articleid "
+ " FROM article as a "
+ " WHERE a.articleid=a.farticleid "
+ " ORDER BY pubdate desc "
+"limit " + start+","+(start + length)
+ " )as b, article as a, userinfo as u "
+ " WHERE b.articleid = a.articleid AND a.userid = u.userid ";
2、发现插入不了数据,分析程序,发现原来Oracle中插入时间是比较特殊:
to_date('"
+ DateUtil.formatTimestamp( ts ) + "', 'YYYY-MM-DD HH24:MI:SS'),
在MySQL则直接为 DateUtil.formatTimestamp( ts )就行了。不用to_date函数。
Oracle提供了一个非常好用的关键字rownum,可以限制结果集的大小。
MySQL也提供了相同a的功能,写法略有差别。
3、在Oracle表的别名是不能为as的,而MySQL则一定要有带as
4、oracle中的rownum相当于MySQL中的LimitSelect clause
[LIMIT [offset,] rows]
In Oracle
select * from table1 where rownum <= 2;
In MySQL
select * from table1 limit 0,2;
or
select * from table1 limit 2;
Usage:
我把如下的Oracle 的SQL语句成功改为MySQL的
Oracle的:
String sql = "SELECT a.articleid, a.title, a.content, a.pubdate, a.userid, a.hostip, u.nickname "
+ " FROM ( "
+ " SELECT articleid "
+ " FROM ( "
+ " SELECT articleid, rownum num "
+ " FROM ( "
+ " SELECT articleid "
+ " FROM article a "
+ " WHERE a.articleid=a.farticleid "
+ " ORDER BY pubdate desc "
+ " ) "
+ " ) "
+ " WHERE num <= " + (start + length) + " AND num > " + start
+ " ) b, article a, userinfo u "
+ " WHERE b.articleid = a.articleid AND a.userid = u.userid ";
移植到MySQL则为:
String sql = "SELECT a.articleid, a.title, a.content, a.pubdate, a.userid, a.hostip, u.nickname "
+ " FROM ( "
+ " SELECT articleid "
+ " FROM article as a "
+ " WHERE a.articleid=a.farticleid "
+ " ORDER BY pubdate desc "
+"limit " + start+","+(start + length)
+ " )as b, article as a, userinfo as u "
+ " WHERE b.articleid = a.articleid AND a.userid = u.userid ";
相关文章推荐
- MySQL 项目移植Oracle
- oracle项目移植mysql之我见
- Oracle与MySQL的几点区别
- Oracle与MySQL的几点区别
- 将 Linq to SQl 项目移植到 Linq to Oracle
- 项目oracle转mysql记录
- Oracle,mysql,sqlserver,postgresql语句几点比较
- Oracle与MySQL的几点区别
- Oracle与MySQL的几点区别
- Oracle移植到mysql注意事项
- 软件项目开发过程中的几点体会
- 项目从mysql迁移到oracle
- Oracle与MySQL的几点区别
- 软件开发项目风险管理的几点体会
- Oracle与MySQL的几点区别
- MySQL表与数据向Oracle移植(使用Oracle SQL Developer工具)
- 软件开发项目风险管理的几点体会
- oracle移植到mysql注意事项
- oracle 和mysql的几点区别
- Oracle与MySQL的几点区别