Oracle中的基本数据类型


一、Oracle 基本数据类型

1、字符数据类型

  • CHAR:存储固定长度的字符串,如果没有指定长度,默认为1个字节,如果数据长度没有达到指定的长度,则通过填充空格的方式来使其达到定义的长度(CHAR类型最多可以存储2000字节的数据)
  • NCHAR:包含Unicode格式数据的定长字符串,最多可以存储2000个字节的数据
  • VARCHAR:不要使用VARCHAR数据类型。使用VARCHAR2数据类型。虽然VARCHAR数据类型目前是VARCHAR2的同义词,VARCHAR数据类型将计划被重新定义为一个单独的数据类型用于可变长度的字符串相比,具有不同的比较语义。
  • VARCHAR2:存储可变长的字符串,如果数据长度小于定义的长度,不会用空格填充,而是存储数据的实际长度
  • NVARCHAR2:存储包含Unicode格式数据的变长字符串

 2、数值数据类型

  • NUMBER:存储整数和浮点数,格式为NUMBER(p, s)(p:精度  s:小数点位数)

  column_name NUMBER
  column_name NUMBER (p)  整数
  column_name NUMBER (p, s)  浮点数

eg:

  123.45  NUMBER      123.45

  123.45  NUMBER(3)       123

  123.45  NUMBER(6,1)    123.5

  123.45  NUMBER(4,2)    EXCEEDS PRECISION

  123.45  NUMBER(6,-2)    100

  0.0012  NUMBER(2,3)    0.001

  1.2E-4   NUMBER(2,5)    0.0001

  • INTEGER:INTEGER是NUMBER的子类型,它等同于NUMBER(38,0),用来存储整数,如果存储浮点数,则会被四舍五入。

3、日期时间数据类型

  • DATE: 存储日期和时间数据
  • TIMESTAMP:比DATE更精确,可以包含小数秒

 4、LOB数据类型

  • CLOB:存储单字符或多字符的字符格式的大型对象
  • NCLOB:它存储Unicode格式的数据,支持固定和可变长度的字符集
  • BLOB:存储二进制对象,如图像、音频和视频文件
  • BFILE:二进制文件,存储在数据库外的系统文件,只读的,数据库会将该文件当二进制文件处理。


不建议使用VARCHAR、INTEGER、FLOAT、DOUBLE等类型