请教几个关于oracle数据库里常见数据类型的问题

     2023-03-17     139

char是定长的字符数据类型,也就是后边括号是几,数据库里就会给保留几个字符的位置,即使实际输入的没有那么长也如此,但是有一个问题,是按字节算还是按字符算呢??如果是字节,那汉字和英文就不一样了啊,也就是说最多可以存2000个字节还是字符?然后varchar是变长的,最多4000个,同样,是字节还是字符?number类型存的数据,可以是整数也可以是小数,后边括号里的数字第一个表示有效的数字的总位数,第二个表示小数的有效位数,如果实际插入时出错,那么按参数进行截取,那如果不用括号,直接写number,最多的有效位数和小数的有效位数怎么算呢?刚工作,对oracle不熟悉,请各位高手你心指教,小弟先谢过了!

常用的数据库字段类型如下:
字段类型 中文说明 限制条件 其它说明
CHAR 固定长度字符串 最大长度2000 bytes
VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749
NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes
NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytes
DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS) 经过严格测试,无千虫问题
LONG 超长字符串 最大长度2G(231-1) 足够存储大部头著作
RAW 固定长度的二进制数据 最大长度2000 bytes 可存放多媒体图象声音等
LONG RAW 可变长度的二进制数据 最大长度2G 同上
BLOB 二进制数据 最大长度4G
CLOB 字符数据 最大长度4G
NCLOB 根据字符集而定的字符数据 最大长度4G
BFILE 存放在数据库外的二进制数据 最大长度4G
ROWID 数据表中记录的唯一行号 10 bytes ********.****.****格式,*为0或1
NROWID 二进制数据表中记录的唯一行号 最大长度4000 bytes
NUMBER(P,S) 数字类型 P为整数位,S为小数位
DECIMAL(P,S) 数字类型 P为整数位,S为小数位
INTEGER 整数类型 小的整数
FLOAT 浮点数类型 NUMBER(38),双精度
REAL 实数类型 NUMBER(63),精度更高

数据类型 参数 描述
char(n) n=1 to 2000字节 定长字符串,n字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节)

varchar2(n) n=1 to 4000字节 可变长的字符串,具体定义时指明最大长度n,这种数据类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。
如果数据长度没有达到最大值n,Oracle 8i会根据数据大小自动调节字段长度,如果你的数据前后有空格,Oracle 8i会自动将其删去。VARCHAR2是最常用的数据类型。可做索引的最大长度3209。

number(m,n) m=1 to 38
n=-84 to 127 可变长的数值列,允许0、正值及负值,m是所有有效数字的位数,n是小数点以后的位数。
如:number(5,2),则这个字段的最大值是99,999,如果数值超出了位数限制就会被截取多余的位数。
如:number(5,2),但在一行数据中的这个字段输入575.316,则真正保存到字段中的数值是575.32。
如:number(3,0),输入575.316,真正保存的数据是575。

date 无 从公元前4712年1月1日到公元4712年12月31日的所有合法日期,Oracle 8i其实在内部是按7个字节来保存日期数据,在定义中还包括小时、分、秒。
缺省格式为DD-MON-YY,如07-11月-00 表示2000年11月7日。

long 无 可变长字符列,最大长度限制是2GB,用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。long是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。

raw(n) n=1 to 2000 可变长二进制数据,在具体定义字段的时候必须指明最大长度n,Oracle 8i用这种格式来保存较小的图形文件或带格式的文本文件,如Miceosoft Word文档。
raw是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。

long raw 无 可变长二进制数据,最大长度是2GB。Oracle 8i用这种格式来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件。
在同一张表中不能同时有long类型和long raw类型,long raw也是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。

blob /clob /nclob 无 三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件,最大长度是4GB。
LOB有几种类型,取决于你使用的字节的类型,Oracle 8i实实在在地将这些数据存储在数据库内部保存。
可以执行读取、存储、写入等特殊操作。

bfile 无 在数据库外部保存的大型二进制对象文件,最大长度是4GB。
这种外部的LOB类型,通过数据库记录变化情况,但是数据的具体保存是在数据库外部进行的。
Oracle 8i可以读取、查询BFILE,但是不能写入。
大小由操作系统决定。
参考知识1 CHAR数据类型存储固定长度的子符值。一个CHAR数据类型可以包括1到2000个字符。如果对CHAR没有明确地说明长度,它的默认长度则设置为1.如果对某个CHAR类型变量赋值,其长度小于规定的长度,那么Oracle自动用空格填充。

VARCHAR2存储可变长度的字符串。虽然也必须指定一个VARCHAR2数据变量的长度,但是这个长度是指对该变量赋值的的最大长度而非实际赋值长度。不需要用空格填充。最多可设置为4000个字符。

因为VARCHAR2数据类型只存储为该列所赋的字符(不加空格),所以VARCHAR2需要的存储空间比CHAR数据类型要小。

Oracle推荐使用VARCHAR2

NCHAR和NVARCHAR2 NCHAR和NVARCHAR2数据类型分别存储固定长度与可变长度的字符数据,但是它们使用的是和数据库其他类型不同的字符集。在创建数据库时,需要指 定所使用的字符集,以便对数据库中数据进行编码。还可以指定一个辅助的字符集[即本地语言集(National Language Set,简称NLS)]。NCHAR和NVARCHAR2类型的列使用辅助字符集。

在Oracle9i中,可以以字符而不是字节为单位来表示NCHAR和NVARCHAR2列的长度。
参考知识B 字符长度 这个要看你i的oracle在什么字符集下设定的了 查看下你的oracle字符集就知道了 通常是按西文长度计算 number 数据类型是数字型 number默认情况下,精度为38位,取值范围1~38之间
它实际上是磁盘上的一个变长类型,会占用0~22 字节的存储空间。默认小数点位是0
参考知识C char (5 byte) 字节
char (5 char) 字符
char,varchar2 类型中文字节长度:一般中文占3个字节.
nchar,nvarchar2 类型中文字节长度:一般中文占2个字节.
number(5,2) 表示小数点前可有3个数据,小数位2位,超出小数位默认会四舍五入.
参考知识D 可以恢复,没有问题

文件路径不一致也没问题,rman set修改路径就可以了,然后把datafile switch就可以了,具体细节可以查查,实现是没问题的。javanewlearner希望有所提示,有空到365testing,测评网,51cto进一步交流!

标致307的USB接口怎么用?普通的数据线和普通的U盘可以用吗?

对U盘没有什么格式要求吗?首先数据线要是和汽车匹配的,有了数据线U盘当然可以用了啊!哈哈楼主希望能帮助到你参考知识1没有问题,查上U盘就音乐自动播放,给手机充电也行 参考知识B对U盘没有特殊要求,格式化选择fat32... 查看详情

说明数据采集系统的地线类型?

说明数据采集系统的地线类型?参考答案:数据采集系统中,有信号地、功率地、屏蔽地、交流地和直流地共五种类型的接地,其中:1、信号地又分为模拟信号地、数字信号地和信号源地。模拟信号地是指放大器、采样/保持 查看详情

在Excel中,最能够反映出某个数据在所有数据构成的总和中所占比例的图表类型是

在Excel中,最能够反映出某个数据在所有数据构成的总和中所占比例的图表类型是_____。A、柱形图B、条形图C、散点图D、饼图答案:D解析:A选项中,柱形图用于显示一段时间内的数据变化或说明不同项目 查看详情

电子数据是我国《民事诉讼法》新增的一个证据类型

电子数据是我国《民事诉讼法》新增的一个证据类型。_____答案:正确解析:《民事诉讼法》第63条规定,证据包括:当事人的陈述;书证;物证;视听资料;电子数据;证人证言;鉴定意见;勘验笔录。证据必须査证 查看详情

折线图的类型

折线图的类型1、折线图和带数据标记的折线图折线图用于显示随时间或有序类别而变化的趋势,可能显示数据点以表示单个数据值,也可能不显示这些数据点。在有很多数据点并且它们的显示顺序很重要时,折线图尤其有用。 查看详情