Oracle和SQL语法区别整理

2014-11-24 17:42:38 · 作者: · 浏览: 0

  变长字符数据类型 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