02数据类型
常用数据类型
字符型
数据库中是以 ASCII 码的格式存储的
| 数据类型 | 取值范围(字节) | 说明 |
|---|---|---|
| VARCHAR2 | 0 ~ 4000 | 可变长度的字符串 |
| nvarchar2 | 0 ~ 1000 | 用来存储 Unicode 字符集的变长字符串型数据 |
| CHAR | 0 ~ 2000 | 用于描述定长的字符型数据 |
| nchar | 0 ~ 1000 | 用来存储 Unicode 字符集的定长字符型数据 |
| long | 0 ~ 2GB | 用来存储变长的字符串,建议开发中使用CLOB替代LONG类型 |
LONG类型的限制如下:
1.一个表中只有一列可以为LONG型。(Why?有些不明白)
2.LONG列不能定义为主键或唯一约束,
3.不能建立索引
4.LONG数据不能指定正则表达式。
5.函数或存储过程不能接受LONG数据类型的参数。
6.LONG列不能出现在WHERE子句或完整性约束(除了可能会出现NULL和NOT NULL约束)
数字型
| 数据类型 | 取值范围 | 说明 |
|---|---|---|
| NUMBER(p, s) | p 最大精度是 38 位(十进制) | p 代表的是精度,s 代表的是保留的小数位数;可以用来存储定长整数和小数 |
| float | 用来存储 126 位数据(二进制) | 存储的精度是按二进制计算的。精度范围为二进制的 1~126。在转化为十进制时需要乘以 0.30103 |
日期类型
| 数据类型 | 说明 |
|---|---|
| DATE | 用来存储日期和时间,范围在公元前 4712 年 1 月 1 日到公元 9999 年 12 月 31 日 |
| timestamp | 用来存储日期和时间,与 DATE 类型的区别就是在显示日期和时间更精确,DATE 类型的时间精确到秒,而 timestamp 的数据类型可以精确到小数秒。此外,使用 timestamp 存放日期和时间还能够显示当前时上午还是下午 |
LOB类型
| 数据类型 | 取值范围(字节) | 说明 |
|---|---|---|
| blob | 最多可以存放 4GB | 存储二进制数据 |
| clob | 最多可以存放 4GB | 存储字符串数据 |
| nclob | 最多可以存放 4GB | 存储UNICODE类型的数据,支持固定宽度和可变宽度的字符集 |
| bfile | 大小与操作系统有关 | 用来把非结构化的二进制数据存储在数据库以外的操作系统中 |
02数据类型
https://jiajun.xyz/2021/07/20/oracle/02数据类型/