文章目录
Oracle的数据类型有二十多种,包括字符串类型、数字类型、日期类型、LOB类型、LONG RAW& RAW类型、ROWID & UROWID类型。太多的数据类型很容易让初学者感到迷茫,在本文中,我将以程序员的视角,结合实际开发的需求来介绍Oracle的数据类型。
Oracle的数据类型虽然很多,但实用的只有以下几种:
1)字符串类型:char和varchar2,可表达任何字符串。
2)数字类型:number(m,n),可表达任何数字,m是数字的总长度,n是小数点后的位数,如果n为0则表示是一个整数。
3)日期类型:date,存放日期和时间,包括年(yyyy)、月(mm)、日(dd)、小时(hh24)、分(mi)、秒(ss)。
4)clob类型,存放单字节字符串或多字节字符串数据,如文本文件、xml文件。
5)blob类型,存放非结构化的二进制数据,如图片、音频、视频、office文档等。
6)rowid类型,存放表中记录在数据库中的物理地址。
一、字符串类型
在C/C++语言中用,字符串用双引号包含起来,在Oracle数据库中,字符串用单引号包含起来的,如下:
‘www.freecplus.net’
‘码农有道’
'一只傻傻鸟 ’
1、固定长度的字符串
固定长度字符串用char表示,当存入数据内容的长度不够时,Oracle将在数据内容后面自动填充空格以达到其固定的长度,例如char(10)总是包含10字节信息。
char字段最多可以存储2000字节的内容。
2、变长度的字符串
变长度字符串用varchar2表示,与char类型不同,Oracle不会在数据内容后面填充任何内容。
varchar2字段最多可以存储4000字节的内容,从Oracle 12c版本开始,可以存储32767字节的内容。
3、char和varchar2的比较
char(10),如果存入’freecplus’,在数据库中将存储’freecplus ',在最后补了一个空格。
varchar2(10)&