SQL SERVER和ORACLE中SQL语句一样吗?

为什么我用DESCRIBE tablename在SQL SERVER中不行呢

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好像也不支持。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-28
SQL语句本身就是一种工业标准,多数的SQL语句是通用的(SELECT,UPDATE,INSERT) 但是当中还有一些小的区别,比如ORALCE9以后支持的全外连写法 FULLOUTER JOIN ON,一旦应用到PL/SQL(带编程语句的SQL)区别就大了.
因此数据库无关性(程序在所有的数据库都能顺利运行)也是编程的一个课题.

你说的DESC用法是ORALCE特有数据字典用法.不是标准的SQL语句本回答被提问者和网友采纳

oracle操作指令在SQL server中能使用?
在SQL Server中使用Oracle操作指令,首先要明确的是,SQL Server和Oracle是两个不同的关系型数据库管理系统,它们之间存在一些差异。尽管如此,有些基础的SQL命令在不同系统中可能保持一致。下面是一些关键点和建议,帮助你在SQL Server中执行Oracle操作指令。1. **SQL语句基础**:确保理解SQL(Structured ...

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

不同的数据库,比如(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 还有很多差异的东西。。暂时没有发现有整理好的完整差异资料 ...

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

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

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

sql和oracle的语法区别
两者区别有PL\/SQL与T-SQL、数据类型。1、PL\/SQL与T-SQL:Oracle使用PL\/SQL作为其过程化扩展,支持存储过程、函数和触发器。而Microsoft SQL Server使用T-SQL,其语法和特性与PL\/SQL略有不同。2、数据类型:虽然大多数SQL数据类型在Oracle和其他RDBMS中都存在,但Oracle具有一些特定的数据类型,如NUMBER...

SQL Server 和 Oracle 以及 MySQL 有哪些区别
不同点:1、SQL Server 是微软的数据库产品;2、 Oracle 和MySQL是甲骨文公司的数据库产品;3、三者的SQL语法绝大部分都是相同的,少量不一样;相同点:1、都是关系型数据库产品;2、现在都支持大数据了;3、世界数据库使用排名Oracle 、SQL Server、MySQL依次排第一、第二、第三。

...SQL SERVER之分,在连接方式和语句上有什么区别吗?
各个编程语言的连接方式是不一样的,而且通过什么方式(比如客户端直连,odbc,jdbc)也是不一样的,根据情况可以直接查对应的资料;各类数据库都支持标准SQL,也就是说标准的sql是一样的,但各自有自己的扩展,使用这些的时候语句不一样,建议根据自己使用的数据库深入学习 ...

SQL sever是数据库吗,那oracle呢
它们都是关系型数据库系统,ORACLE是最早开发关系型数据库系统的公司,一个字:牛

相似回答