资源描述:
《Oracle与SQL Server的SQL使用区别》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Oracle与SQLServer的SQL使用区别整理人:阮淑芳日期:2005-12-15一、数据类型序号内容(SQLSERVER)T-SQL(ORACLE)PL/SQL备注1.1数字类型分为精确数值、近似数值、整数、二进制数、货币等几类,其中,精确数值有DECIMAL[(P[, S])]与NUMERIC[(P[, S])];近似数值有FLOAT[(N)];整数有INT、SMALLINT、TINYINT;二进制数有BINARY[(N)]、VARBINARY[(N)];货币有MONEY、SMALLMONEY
2、。NUMBER DECIMAL[(P[, S])]→ NUMBER[(P[, S])]NUMERIC[(P[, S])]→ NUMBER[(P[, S])] FLOAT[(N)]→NUMBER[(N)] INT→ NUMBERSMALLINT→NUMBERTINYINT→ NUMBER MONEY→ NUMBER[19,4]SMALLMONEY→ NUMBER[19,4]1.2字符类型CHAR[(N)]VARCHAR[(N)]CHARVARCHAR2CHAR[(N)]→ CHAR[(N)] VARC
3、HAR[(N)]→ VARCHAR2[(N)]1.3日期时间DATETIMESMALLDATETIMEDATE DATETIME→ DATESMALLDATETIME→ DATE 1.4特殊类型BITTIMESTAMPTEXTIMAGEBINARY VARINGLONGRAWLONG RAWBLOBCLOBBFILETEXT→ CLOBIMAGE→ BLOBBIT→ NUMBER(1)二、自动增长字段序号内容(SQLSERVER)T-SQL(ORACLE)PL/SQL备注2.1数据表创建时某一字段定
4、义为IDENTITY列,则该列为标识列。向该表添加新行时,该列值自动增长。以做主键识别没有自动增长字段的定义,但可通过创建序列(SEQUENCE)实现。SQLSERVER向ORACLE移植做如下改变:1、去掉建表语句中有关ID列的identity声明关键字;92、创建SEQUENCE,将此SEQUENCE与需类ID化的列对应;3、在INSERT语句中对相应列引用其SEQUENCE值:SEQUENCENAME.NEXTVAL三、常用函数序号内容(SQLSERVER)T-SQL(ORACLE)PL/SQL备
5、注3.1字符类函数 Ascii(char_exp) Char(int_exp)Len(char_exp)Substring(exp, start, length) Upper(char_exp)Lower(char_exp)Stuff(char_exp1,start,length, Char_exp2)Ltrim(char_exp)Rtrim(char_exp)Ascii(str_exp) Chr(int_exp) Length(str_exp)Substr(exp, start, lengt
6、h)Upper(str_exp)Lower(str_exp)Translate(str_exp,from_str,to_str) Ltrim(str_exp1 [,str_exp2]) Rtrim(str_exp1 [,str_exp2])Oracle的 Lengthb(str_exp)返回字符串的字节数。3.2日期类函数Getdate()Sysdate将所有的GETDATE全部转换成为SYSDATE3.3数学类函数Abs(numeric_exp)Ceiling(numeric_exp)Exp(floa
7、t_exp)Floor(numeric_exp)Power(numeric_exp,int_exp)Round(numeric_exp,int_exp)Sign(int_exp)Sqrt(float_exp) Abs(number_exp) Ceil(number_exp) Exp(number_exp) Floor(number_exp) Power(number_exp1,number_exp2) Round(number_exp1 [,number_exp2]) Sign(number_exp)
8、Sqrt(number_exp)3.4转换函数Convert(datatype[(length)],exp,format)onvert(datatype[(length)],exp,format)Convert(datatype[(length)],exp,format) To_char(datatype,str_format)To_date(str_exp,date_format) To_number(str_exp,num_format