Maison > Article > base de données > Oracle和SQL语法区别整理
字符数据类型 CHAR CHAR 都是固定长度字符资料但oracle 里面最大度为2kb,SQLServer里面最大长度为8kb 变长字符数据类型
字符数据类型 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