数据类型
一、字符型数据
1,1、固定长度: char(n) 、nchar(n)
备注:nchar是按unicode格式存放数据的,nchar存储汉字比较多,其中n为字符长度,char类型n的最大值为2000,nchar中n 的最大值为1000
1.2、可变长度:varchar(n)、varchar2(n)、nvarchar2(n)
备注:varchar是符合工业标准的数据类型,varchar(2)是oracle在varchar基础上定义的,varchar2不能存储空字符串,会将空 字符串转为null存储,nvarchar2是按unicode格式存放数据的,其中n为字符长度,varchar2类型n的最大值为4000, nvarchar2中n的最大值为2000
二、数值型数据
2.1、number(p,s):其中p是表示有效数 ,s可以为负数字,s表示小数点后面的位数
2.2、float(n) :主要用于存储二进制数据,n表示二进制的位数是1到126位
三、日期型数据
3.1、date :精确到秒,存储范围:公元前4712年1月1日到公元9999年12月31日,
备注:date 中包含的信息有:century(世纪信息)、year(年份信息)、month(月份信息)、day(天数信息)、hour(小时信息)、 minutes(分钟信息)、second(秒数信息),yyyy代表年,mm代表月,dd代表当月中第几天,hh代表小时,mi代表分钟, ss代表秒
3.2、 timestamp(时间戳) :精确到毫秒
四、lob类型数据
blob:存放4G的数据,以二进制存放数据
clob :存放4G的数据,以字符串的形式存放
bfile:作为单独文件存在的二进制数据
五、oracle中的特殊数据
5.1、rowid
rowid用于标识数据物理地址的列,由数据库自动添加,rowid位置靠后的记录不一定是晚插入的数据,oracle总是查找空闲的 空间进行插入动作
5.2、null与空字符串
oracle中将空字符串视为null,在oracle中判断某列的值是否为空,不能将该列的值与空字符串比较,而是使用is null
select * from hh where name is null;
5.3、单引号与双引号
oracle中,单引号用于界定字符串,双引号用于标识对象名称
5.3.1、单引号若要存储,则要转义
insert into hh values(2,'''David'); 其中第一个单引号为字符串界定符,第二个为转义符,第三个则为要存储的单引号
5.3.2、双引号,双引号主要作用有
1、用作特殊的列名,若列名中间有空格,要用到双引号
alter table hh rename column name to "user name";
2、控制列名的大小写形式,一般情况下,oracle会自动将所有列名改为大写形式,要显示为小写,可以用双引号alter table hh rename column age to "age";
备注:用双引号创建或修改的列,查询时也必须带双引号,否则会报错
select "age" from hh;