基础数据所对应的类型不同

在Oracle中有一些基础类型与Sqlserver中名字一样,但是所存储的数据格式不同,Date类型在Oracle中精确到秒,在Sqlserver中只能精确到天

表的结构

Oracle中所有的表都有一个共同的字段,rowid这是在物理上存在的,记录了每一条记录的行位置,rownum 是逻辑上的,根据排序方式的不同会出现不同的rownum,因为Oracle的这个特性,经常在进行一些crud操作的时候会通过rowid来进行,导致在转数据库的时候会遇到各种麻烦,所以我建议各位不管是使用哪一种数据库最好是使用标准sql,并且不要太依赖某种数据库的特性。我开始是想通过row_number()加with as 去代替rowid,但是总会出现一些奇怪的问题,你前一次查询的id,重新进入数据库操作的时候改变的是另外一条记录,最后的解决方式我把每一张表都添加上了rowid

Oracle的to_date,to_char方法

在转Oracle数据库的时候这两个方法出现了很多次,看他们的名字就知道是干什么的,Sqlserver中没有这样的方法,但是有conver,cast方法这两个方法可以实现Oacle两个方法的所有功能

Oracle的NVL方法可以用isnull代替

在Oracle中子查询语句可以有order by,而在sqlserver需要添加top()函数

Oracle比sqlserver的优势

我个人觉得oracle的优势在他的图形用户界面,虽然长相不好,但却实用,如果有失误的操作还能够rollback,导出数据时也很方便,在把oracle数据迁移到sqlserver时只要关注两个数据库之间数据类型的差异,不用担心oracle的数据问题,可以一键查询提出成文件,而sqlserver操作起来反而复杂,我还没有找到导出sqlserver sql文件的方法。

数据库转换需要注意的几个点:

1:基础数据之间的差异,在不同的数据中相同名字的数据类型可能存的值存在某些差异,我也没有弄清有哪些类型,但是这是一个需要注意的点

2: 某些数据库独有特性在转换时要面向整体去设计

3:不同数据库所用sql也有不同,但总能找到替代的方法,一定要用心

最新文章

  1. 关于SQL SERVER的N前缀的理解
  2. C语言 百炼成钢5
  3. Linux CPU相关信息查看
  4. 【MySQL】MySQL中针对大数据量常用技术_创建索引+缓存配置+分库分表+子查询优化(转载)
  5. boost库中thread多线程详解2——mutex与lock
  6. wxWidgets显示视频
  7. C#实现拷贝对象
  8. Flume-ng源码解析之Channel组件
  9. Centos7多网卡绑定操作,通过nmcli命令操作。
  10. MySQL replication illegal mix of collations
  11. this和static关键字
  12. [转]NSIS 制作安装包无法创建桌面快捷方式或无法删除开始菜单项
  13. n个随机变量中第k小值的期望
  14. 树上统计treecnt(dsu on tree 并查集 正难则反)
  15. Java如何计数字串中的一组词组?
  16. c#里面如何激活一个外部程序进程并显示在最前
  17. Another reason why SQL_SLAVE_SKIP_COUNTER is bad in MySQL
  18. 2014.04.14 Lastpass活动,2年高级版
  19. NLTK之WordNet 接口
  20. return 返回值的问题

热门文章

  1. String类对象两种实例化方式比较
  2. shell中的函数、shell中的数组、告警系统需求分析
  3. PyCharm 2019.3发布,增加了哪些新功能呢?
  4. Too many open files的四种解决办法【华为云技术分享】
  5. 更适合Pythoner的标记语言Yaml学习总结
  6. Java-手动搭建SSH
  7. Selenium 4 Java的最佳测试框架
  8. 深度研究:回归模型评价指标R2_score
  9. 客户端加载文本数据到mysql数据库表(数据导入和导出)
  10. segment树(线段树)