Oracle SQL与ANSI SQL区别

Oracle SQL与ANSI SQL区别
相信大家都使用过SQL SERVER。今天给大家简单介绍一下Oracle SQL与ANSI SQL区别。其实,SQL SERVER与与ANSI SQL也有区别。

1、首先大家要明白什么是ANSI

ANSI:美国国家标准学会(American National Standards Institute)。当时,美国的许多企业和专业技术团体,已开始了标准化工作,但因彼此间没有协调,存在不少矛盾和问题。为了进一步提高效率,数百个科技学会、协会组织和团体,均认为有必要成立一个专门的标准化机构,并制订统一的通用标准。

2、那么在学习SQL语句的过程,ANSI SQL到底是什么

(1)作为程序员开发者们应该知道,在使用那些非标准的SQL命令(比如Oracle、微软和MySQL等数据库系统)从跨平台和遵守标准的角度出发,你应该尽量采用ANSI SQL,它是一种和平台无关的数据库语言。其实为什么这么说了,很简单就是可能在Oracle能够运行的SQL语句不一定在SQL SERVER当中能够运行,那么在跨平台当中数据操作就会带来困难。

(2)程序在开发的时候,如果使用SQL语句对数据进行操作。一般的建议不管你在使用哪种数据库系统,如果该数据库系统中的SQL完全支持ANSI SQL标准,那么请你尽量使用ANSI SQL。

3、ANSI数据类型与Oracle中数据类型的联系

(1)首先提一个存在的问题,只有很少部分的数据类型得到所有数据库服务器的支持。每一种DBMS都有它自己的数据类型以及为什么要这样使用它们的原因。某些专有数据类型(比如Microsoft Access的AUTONUMBER)用起来确实相当方便。

(2)以下是ANSI数据类型:

BIT, CHARACTER, DATE, DECIMAL, DOUBLE,
PRECISION, FLOAT, INTEGER, INTERVAL, NUMERIC,
REAL, SMALLINT, TIMESTAMP, TIME, VARBIT, VARCHAR, CHAR

(3)以下是Oracle SQL不支持的“标准”数据类型:

INTERVAL, TIME, VARBIT

(4)只有Oracle才支持DATE,但是以下的“标准”数据类型不被Oracle支持:

BIT, DECIMAL, NUMERIC, TIMESTAMP

4、最后总结一点,只有以下的数据类型可以保证在各类数据库上都能使用:

DOUBLE PRECISION, FLOAT, INTEGER, NUMERIC, REAL, SMALLINT, VARCHAR, CHAR

你可能感兴趣的:(oracle,sql,ansi)