最新消息:

mysql,sqlserver,oracle,sybase基本数据类型汇总

数据库 admin 5468浏览 0评论

oracle 基本数据类型

VARCHAR2( ) 存储字符,可变长度,有最大长度,最大4000字节
NUMBER 存储数字
DATE 存储日期
CHAR( ) 存储字符,固定长度(如果某个数据比定义长度短,那么将用空格在数据的右边补到定义长度),有最大长度,最大2000字节
LONG 是一个遗留下来的而且将来不会被支持的数据类型,它将被LOB(large object)数据类型取代
LONGRAW
RAW
ROWID ORACLE数据表中的一个伪列,它是数据表中每行数据内在的唯一的标识。
FLOAT
INTEGER
NCHAR( ) 同CHAR( ),存储NLS数据
NVARCHAR2 同VARCHAR2( ),存储NLS数据
BLOB 存储二进制数据
CLOB 存储字符型数据
NCLOB
BFILE 存储二进制文件
UROWID
TIMESTAMP
TIMESTAMP WITH TIME ZONE
TIMESTAMP WITH LOCAL TIME ZONE
INTERVAL YEAR TO MONTH
INTERVAL DAY TO SECOND
BINARY_FLOAT
BINARY_DOUBLE

Mysql的基本数据类型:

类型 大小 描述
char[length] length字节 定长字段,长度为0-255个字节
varchar[length] string长度+1字节 变长字段,在mysql5.03以前,长度为0-255个字节,在5.0.3以后,最大长度为65535字节。一个utf8字符占3个字节、一个gbk字符占两个字节。
tinytext string长度+1字节 字符串,长度为0-255个字节
text string长度+2字节 字符串,最大长度为0-65535个字节
mediumtext string长度+3字节 字符串,组嗲长度为16777215个字节
longtext string长度+4字节 字符串,最大长度为4194967295个字节
tinyint[length] 1字节 范围:-128~127或0~255
smallint[length] 2字节
mediumint[length] 3字节  
int[length] 4字节  
bigint[length] 8字节  
float 4字节  
double[length,decimals] 8字节 运行固定的小数点
decimal[length,decimals] length+1字节或length+2字节  
date 3字节 采用YYYY-MM-DD格式
datetime 8字节 采用YYYY-MM-DD HH:mm:SS格式
timestamp 4字节 采用YYYYMMDDHHmmSS格式
time 3字节 采用HH:MM:SS格式
enum 1或2字节 枚举类型
set 1、2、3、4或8字节 与enum一样,只不过每一列可以具有多个可能的值
blob   是text的一个变体。允许存储二进制文件,还可用于某些加密数据。

sybase 数据类型:

字段类型 描述 字段长度及其缺省值
char(size) 用于保存定长(size)字节的字符串数据。 每行定长(不足部分补为空格);最大长度为255字节,缺省值为每行1字节。
varchar(size) 用于保存变长的字符串数据。其中最大字节长度由(size)指定。 每行长度可变,最大长度为255字节。数据长度缺省为1
nchar(size) 多字节字符串。 每行定长(不足部分补为空格)。 长度(size)是指字符的个数,最大字节数为size*a@@nchar size。
nvarchar(size) 可变长,多字节字符串。 每行变长。长度(size)是指字符的个数,最大字节数为size*a@@nchar size。
binary(size) 固定长度的二进制字符串。 每行定长(不足部分补为空格);最大长度为255字节,缺省值为每行1字节。
varbinary(size) 可变长度的长度的二进制字符串。 每行长度可变,最大长度为255字节。数据长度缺省为1
timestamp 用于改变管理的二进制值。 字节数为16
datetime 保存定长的日期时间数据,范围为1753年1月1日到公元9999年12月21日,精度为3微秒间隔。 每行固定为8字节长度。
smalldatetime 保存定长的日期时间数据,范围为1990年1月1日到公元2079年6月6日,精度为分钟间隔。 每行固定为4字节长度。
int 保存整型数据,范围为-2147483647到+2147483647。 最大长度为4字节32 – 1字节或4G。
smallint 保存整型数据,范围为-32767到+32767 最大长度为2字节32 – 1字节或4G。
tinyint 保存整型数据,范围为0到255。 最大长度为1字节。
float 保存浮点数据类型,范围为-2.23E-308到+2.23E-308。 最大长度为8字节。
real 保存浮点数据类型,范围为-1.18E-38到+1.18E-38。 最大长度为4字节。
numeric(p,s) 保存精确数值数据类型,范围为-10E-38到+10E-38,p是精度,总小数位数(1~38),s是小数位(小数位小于等于p) 最大长度为2~17字节。
decimal(p,s) 保存精确数值数据类型,范围为-10E-38到+10E-38,p是精度,总小数位数(1~38),s是小数位(小数位小于等于p) 最大长度为2~17字节。
money 保存货币值数据类型,范围为-922337203685477.5808到+922337203685477.5808 最大长度为8字节。
smallmoney 保存货币值数据类型,范围为-214748.3647到+214748.3647 最大长度为4字节。
text 保存大于255字节的栏或大于2KB页长度的文本数据。 最大长度为2G。
image 保存大于255字节的栏或大于2KB页长度的二进制数据。 最大长度

SQL Server 数据类型

Character 字符串:

数据类型 描述 存储
char(n) 固定长度的字符串。最多 8,000 个字符。 n
varchar(n) 可变长度的字符串。最多 8,000 个字符。  
varchar(max) 可变长度的字符串。最多 1,073,741,824 个字符。  
text 可变长度的字符串。最多 2GB 字符数据。  

Unicode 字符串:

数据类型 描述 存储
nchar(n) 固定长度的 Unicode 数据。最多 4,000 个字符。  
nvarchar(n) 可变长度的 Unicode 数据。最多 4,000 个字符。  
nvarchar(max) 可变长度的 Unicode 数据。最多 536,870,912 个字符。  
ntext 可变长度的 Unicode 数据。最多 2GB 字符数据。  

Binary 类型:

数据类型 描述 存储
bit 允许 0、1 或 NULL  
binary(n) 固定长度的二进制数据。最多 8,000 字节。  
varbinary(n) 可变长度的二进制数据。最多 8,000 字节。  
varbinary(max) 可变长度的二进制数据。最多 2GB 字节。  
image 可变长度的二进制数据。最多 2GB。  

Number 类型:

数据类型 描述 存储
tinyint 允许从 0 到 255 的所有数字。 1 字节
smallint 允许从 -32,768 到 32,767 的所有数字。 2 字节
int 允许从 -2,147,483,648 到 2,147,483,647 的所有数字。 4 字节
bigint 允许介于 -9,223,372,036,854,775,808 和 9,223,372,036,854,775,807 之间的所有数字。 8 字节
decimal(p,s) 固定精度和比例的数字。允许从 -10^38 +1 到 10^38 -1 之间的数字。

p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。

s 参数指示小数点右侧存储的最大位数。s 必须是 0 到 p 之间的值。默认是 0。

5-17 字节
numeric(p,s) 固定精度和比例的数字。允许从 -10^38 +1 到 10^38 -1 之间的数字。

p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。

s 参数指示小数点右侧存储的最大位数。s 必须是 0 到 p 之间的值。默认是 0。

5-17 字节
smallmoney 介于 -214,748.3648 和 214,748.3647 之间的货币数据。 4 字节
money 介于 -922,337,203,685,477.5808 和 922,337,203,685,477.5807 之间的货币数据。 8 字节
float(n) 从 -1.79E + 308 到 1.79E + 308 的浮动精度数字数据。 参数 n 指示该字段保存 4 字节还是 8 字节。float(24) 保存 4 字节,而 float(53) 保存 8 字节。n 的默认值是 53。 4 或 8 字节
real 从 -3.40E + 38 到 3.40E + 38 的浮动精度数字数据。 4 字节

Date 类型:

数据类型 描述 存储
datetime 从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 3.33 毫秒。 8 bytes
datetime2 从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 100 纳秒。 6-8 bytes
smalldatetime 从 1900 年 1 月 1 日 到 2079 年 6 月 6 日,精度为 1 分钟。 4 bytes
date 仅存储日期。从 0001 年 1 月 1 日 到 9999 年 12 月 31 日。 3 bytes
time 仅存储时间。精度为 100 纳秒。 3-5 bytes
datetimeoffset 与 datetime2 相同,外加时区偏移。 8-10 bytes
timestamp 存储唯一的数字,每当创建或修改某行时,该数字会更新。timestamp 基于内部时钟,不对应真实时间。每个表只能有一个 timestamp 变量。  

转载请注明:心阳之家 » mysql,sqlserver,oracle,sybase基本数据类型汇总

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址