Oracle和SQL语法区别整理

Oraclezcy 2009-12-08

字符数据类型 CHAR CHAR 都是固定长度字符资料但Oracle 里面最大度为2kb,SQLServer里面最大长度为8kb

变长字符数据类型 VARCHAR2 VARCHAR Oracle 里面最大长度为 4kb,SQLServer里面最大长度为8kb

根据字符集而定的固定长度字符串 NCHAR NCHAR 前者最大长度2kb后者最大长度4kb

根据字符集而定的可变长度字符串 NVARCHAR2 NVARCHAR 二者最大长度都为4kb

日期和时间数据类型 DATE 有Datetime和Smalldatetime两种 在oracle 里面格式为DMY在SQLSerser里面可以调节,默认的为MDY

数字类型 NUMBER(P,S) NUMERIC[P(,S)] Oracle 里面p代表小数点左面的位数,s代表小数点右面的位数。而SQLServer里面p代表小数点左右两面的位数之和,s代表小数点右面的位数。

数字类型 DECIMAL(P,S) DECIMAL[P(,S)] Oracle 里面p代表小数点左面的位数,s代表小数点右面的位数。而SQLServer里面p代表小数点左右两面的位数之和,s代表小数点右面的位数。

整数类型 INTEGER INT 同为整数类型,存储大小都为4个字节

浮点数类型 FLOAT FLOAT

实数类型 REAL REAL

ORACLE 内部函数大全以及与SQLSERVER的区别:

下面是Oracle 支持的字符函数和它们的Microsoft SQL Server等价函数。

函数 Oracle Microsoft SQL  Server

把字符转换为ASCII :ASCII ASCII

字串连接: CONCAT --------------(expression + expression)

把ASCII转换为字符 CHR, CHAR

返回字符串中的开始字符(左起) INSTR ,---------------CHARINDEX

把字符转换为小写 LOWER ---------------------LOWER

把字符转换为大写 UPPER-------------------- UPPER

填充字符串的左边 LPAD --------------------N/A

清除开始的空白 LTRIM--------------------LTRIM

清除尾部的空白 RTRIM --------------------RTRIM

字符串中的起始模式(pattern) INSTR --------------------PATINDEX

多次重复字符串 RPAD --------------------REPLICATE

字符串的语音表示 SOUNDEX --------------------SOUNDEX

重复空格的字串 RPAD --------------------SPACE

从数字数据转换为字符数据 TO_CHAR --------------------STR

子串 SUBSTR --------------------SUBSTRING

替换字符 REPLACE --------------------STUFF

将字串中的每个词首字母大写 INITCAP --------------------N/A

翻译字符串 TRANSLATE --------------------N/A

字符串长度 LENGTH-------------------- DATELENGTH or LEN

列表中最大的字符串 GREATEST-------------------- N/A

列表中最小的字符串 LEAST --------------------N/A

如果为NULL则转换字串 NVL-------------------- ISNULL

日期函数

下面是Oracle 支持的日期函数和它们的Microsoft SQL Server等价函数。

函数 Oracle --------------------Microsoft SQL  Server

日期相加 (date column +/- value) or ADD_MONTHS --------------------DATEADD

两个日期的差 (date column +/- value) or MONTHS_BETWEEN --------------------DATEDIFF

当前日期和时间 SYSDATE --------------------GETDATE()

一个月的最后一天 LAST_DAY --------------------N/A

时区转换 NEW_TIME --------------------N/A

日期后的第一个周日 NEXT_DAY --------------------N/A

代表日期的字符串 TO_CHAR --------------------DATENAME

代表日期的整数 TO_NUMBER (TO_CHAR)) --------------------DATEPART

日期舍入 ROUND --------------------CONVERT

日期截断 TRUNC --------------------CONVERT

字符串转换为日期 TO_DATE --------------------CONVERT

如果为NULL则转换日期 NVL -------------------- ISNULL

转换函数

下面是Oracle 支持的转换函数和它们的Microsoft SQL Server等价函数。

函数 Oracle --------------------Microsoft SQL  Server

数字转换为字符 TO_CHAR --------------------CONVERT

字符转换为数字 TO_NUMBER --------------------CONVERT

日期转换为字符 TO_CHAR --------------------CONVERT

字符转换为日期 TO_DATE CONVERT

16进制转换为2进制 HEX_TO_RAW --------------------CONVERT

2进制转换为16进制 RAW_TO_HEX --------------------CONVERT

相关推荐