一、Oracle的,默认字符集:
ZHS16GBK(简体中文,16位,GBK),在此字符集中,一个字母或数字占一字节,一个汉字占两字节;
select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';
二、字符类型:
1、char(长度):固定长度字符,如果存储时超出长度会报错,如果不够用空格填充。
2、varchar2(长度):可变长度字符,如果存储时不够长度,不要空格填充,如果超出长度会报错。
-
NVARCHAR2:一个包含UNICODE格式数据的变长字符串,NVARCHAR2最多可以存储4000字节的信息。
-
NCHAR:一个包含UNICODE格式数据的定长字符串。NCHAR字段最多可以存储2000字节的信息,它的最大长度取决于国家字符集。
三、数据类型:
number(p,s) :p:有效位数 s:小数位的精度
说明:
-
先计算s如果长度不够,用0填充,如果超出四舍五入;
-
再计算p:不包括+-号和小数点,从第一个不为0的数字开始计算;超出会报错。
-
如果不写s,代表是整数。
-
小数点前最多可以有(p-s)位
四、日期类型:
timestamp:时间戳
date:存储日期和时间类型;
查看当前系统日期和时间
select sysdate from dual;
常用日期函数:to_date:将一个字符串按照设定的格式转换成date类型;
示例:
select to_date('1998-09-09','yyyy-mm-dd') from dual;
显示结果:1998-09-09 00:00:00(自动补充时分秒)
select to_date('20:20:00','HH24:mi:ss') from dual;
显示结果:2021-03-01 20:20:00(自动补充年月日)
五、LOB(大对象)类型:
BLOB:存储二进制文件,比如:图像、音频、视频;
CLOB:存储字符格式的大型对象;
六、ROWID & UROWID类型
- ROWID
ROWID是一种特殊的列类型,称之为伪列(pseudocolumn)。ROWID伪列在SQL SELECT语句中可以像普通列那样被访问。ROWID表示行的地址,ROWID伪列用ROWID数据类型定义。Oracle数据库中每行都有一个伪列。
ROWID与磁盘驱动的特定位置有关,因此,ROWID是获得行的最快方法。但是,行的ROWID会随着卸载和重载数据库而发生变化,因此建议不要在事务中使用ROWID伪列的值。例如,一旦当前应用已经使用完记录,就没有理由保存行的ROWID。不能通过任何SQL语句来设置标准的ROWID伪列的值。
列或变量可以定义成ROWID数据类型,但是Oracle不能保证该列或变量的值是一个有效的ROWID。




