sql server的sql语句和oracle的sql语句有什么不同吗?

sql server的sql语句是怎么样的?和oracle的sql语句一样吗?举几个例子,例如插入,删除,修改,建表等

基本上都是相似的,但值得注意的几个地方(是我们经常碰到的):
1.数据类型是varchar2而不是varchar,
2.有数据类型number,没有数据类型numeric,
3.还有就是字符的连接,用的是“||”而不是"+",
4.取得系统时间是sysdate ,而不是函数getdate()
还有一些在具体的使用中需要注意的,
可以查看sql server与oracle的对比列表。
呵呵,希望能有帮助,^_^
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-09-28
Oracle与Sql server都遵循SQL-92标准:
区别如下:

1.Oracle中表名,字段名,存储过程名,变量名不能超过30个字符串长度。

2.Oracle中不支持Top 语法。使用whererownum < n 代替。但需要注意如果在Top前有排序的操作,则需要先排序在利用rownum取得。

3.Oracle中光标的使用与SqlServer中有挺大差别,主要是在循环控制方面不一致。

在Oracle中如果某列是Date类型,那么它默认的格式是yyyy-MM-dd,如果使用where colDate = ‘2005-06-08 17:14:57’就会出错,‘2005-06-08’可以。如果此时需要精确比较时间(小时,分,秒),可以采用下列方法:TO_DATE('2005-6-8 17:14:57','yyyy-mm-dd hh24:mi:ss')。由于Oracle和SQLServer在DateTime上对SQL标准的拓展实现方式不同,因此不能用同一个SQL实现。

4.Oracle中的TimeStamp(时间戳)与SqlServer中的差别很大。SqlServer中的TimeStamp是二进制格式存储在数据库中,可以将DataSet中的这个字段类型设定为base64Binary类型。Oracle中的TimeStamp是时间格式存储的。因此,无法用同一个DataSet既装载SqlServer的TimeStamp,有装载Oracle的TimeStamp.由于在应用程序中很少用到这个值,因此可以不检索这个字段。

5.Oracle中的TimeStamp不能像SqlServer在传入数据的时候自动填充,可以设定默认值systimestamp来实现类似功能。

6.Oracle中没有Boolean的字段类型,可以用intger或者char代替SqlServer中的bit类型。

7.Oracle中会将””空字符串当多NULL处理,也就是说,当应用程序往数据库中插入一个空字符串时,实际数据库会尝试插入一个NULL。如果这个字段是NOTNULL类型,那么就会出错,这种情况下可以用别的默认值代替空字符串。当从SqlServer导入数据到Oracle的时候,在NOTNULL列上的空字符串会导致导出操作失败。此时可以在导出向导中手工修改SQL脚本,将空字符串设定成一个特殊值。

8.Oracle中不支持,SELECT . . INTO创建新表,要用CREATE TABLE 表名AS SELECT 语句 ,创建新表。

9.在Oracle中连接字符串用 ‘||’ 或CONCAT(COL1,COL2)函数,不能使用‘+’。

统配符 [],[^] ,Oracle好像也不支持。
第2个回答  2008-11-24
语法是都一样的。只是有些特殊的功能不太一样,但主要不是体现在 sql 语句上。
sql 语句是一种数据库通用的类似于协议的东西,没有区别的。
语法差不多,但是要移植的话还是够得改,oracle 没有 select top n,函数也有很多不同,
存储过程的使用就差得更远了!
第3个回答  2008-11-24
1. 基本应用上,sql server 和oracle都遵循sql 92语法标准。
2. 实际应用中大家都会超出以上标准,使用各家数据库厂商都提供的丰富的自定义标准函数库和语法。
3. 微软sql server的sql 扩展叫T-SQL(Transcate SQL).
4. Oracle 的sql 扩展叫PL-SQL.
5. 最简单的插入、删除操作都差不多,但是稍微复杂一点,都不一样了。比如涉及到跨数据表,跨数据库,跨用户的操作的语法不一样。
6. 一个很简单的例子,去数据库系统时间的写法
tsql: select getdate()
pl-sql: select sysdate from dual
第4个回答  2008-11-24
基本没有什么太大区别 sql是标准的 只是小地方有所区别

ORACLE和SQLServer SQL语句的区别
1、Oracle对于外连接操作可以使用(+);标准SQL用join on语法。2、Oracle提供专门的系统变量sysdate;标准SQL没有。3、Oracle提供特有的转换函数,例如:to_char,to_date,to_number等等;标准SQL没有。

sqlserver和oracle sql语法的区别
标准sql语法都兼容,比如子查询那些,区别就是函数使用方式而已。isnull 与 nvl row_number() over 与 rownumber()ceiling 与 ceil log 与 ln SQUARE 与 power + 与 || substring 与 substr Len 与 length getdate 与 sysdate 以上等等都是同功能的函数 当然也存在同名函数参数顺序不同的情况,就...

Oracle与sql server区别是什么?
两种数据库sql语句通用,里面有些字段类型不一样;Oracle比SQLServer消耗更多内存,因为Oracle每个数据库的服务都是分开的,SQLServer就一个服务可以放很多数据库;Oracle比SQLServer安全性好,由此 Oracle比SQLServer复杂,比如导入导出数据库、权限管理、,Oracle操作都要多一点,不过都很好学的;在中国,两样数...

Oracle 与 Sybase 的sql 差异有哪些
1.简单地讲,MySQL与Microsoft SQL Server2000\/2005,Oracle等等,一样是一个数据库系统,专门用来创建管理数据库。而MySQL是一种免费的数据库系统(当然限于一定版本)。2.而SQL是一种结构化查询语言,基本上你列出的数据库系统都能用这个语言进行查询,更新等操作(因为它已经形成了一个标准),只是...

...SQLserver mySQL plsql PLSQL Deverloper oracle 之间的区别_百度知 ...
三个主流的数据库系统,都是使用的sql语言,他们的sql标准是一样的,只不过具体细节上略有区别,比如sqlserver转换为字符串的函数是str(),oracle是to_string();三个数据库本身的区别:mysql一般用于web后台数据库,sqlserver和oracle用途更广泛,oracle尤其用于大型数据存储。

oracle和Sqlserver到底有什么区别
1、所属公司不一样 oracle是oracle公司(甲骨文公司)开发的 sqlserver是微软开发的 但是都支持国际标准sql语句,只是有些各自做了改进,增减 2、数据库操作平台不一样 Oracle能在所有主要的平台(其中包括Windows)上运行,并且完全支持所有的工业标准,所以,客户可以利用很多种第三方应用程序、工具、网关...

SQLServer 和 Oracle 有什么区别?
在ORACLE里默认只有三个系统用户,ORACLE是通过用户登入。 SQL SERVER登入管理: SQL SERVER身份验证 WINDOWS 身份验证 在SQL SERVER里是通过WINDOWS用户帐户或是用SQL SERVER身份验证连接数据库的。 SQL不是一种语言,而是对ORACLE数据库传输指令的一种方式。 SQL中NULL既不是字符也不是数字,它是缺省数据。ORACLE提供了...

不同的数据库,比如(sqlserver、Mysql、Oracle)它们的数据库sql语句相同...
都遵循统一的标准,但存在一些小的差异。。(大同小异)比如选取前10行 sqlserver:SELECT TOP 10 * FROM table oracle:select * from table where rownum < 10 Mysql:select * from table limit 1,10 还有很多差异的东西。。暂时没有发现有整理好的完整差异资料 ...

数据库中SQL和ORACLE那个要好一些,他们的自己的特点是什么??
SQL server使用的标准SQL,而oracle用的是PLSQL,这2个语言是不一样的,有比较大的区别。sql server普遍与开发工具的接口都比较好,但是oracle与java简直就像是一个整体,而现在java那么流行,注定了oracle是不会被淘汰的 SQL server通常中小型企业使用,数据量庞大的时候会很慢 oracle大型企业中使用,数据...

sql语句的问题?
在SQL Server中两者没有区别,但在Oracle的SQL语句中,delete * from是不标准的语法,执行无法通过。Oracle下执行delete from语句(成功):Oracle下执行delete * from语句(失败):

相似回答