暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle数据类型

原创 a. 2023-02-03
549

一、Oracle的,默认字符集:

ZHS16GBK(简体中文,16位,GBK),在此字符集中,一个字母或数字占一字节,一个汉字占两字节;

select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';

二、字符类型:

1、char(长度):固定长度字符,如果存储时超出长度会报错,如果不够用空格填充。

2、varchar2(长度):可变长度字符,如果存储时不够长度,不要空格填充,如果超出长度会报错。

  1. NVARCHAR2:一个包含UNICODE格式数据的变长字符串,NVARCHAR2最多可以存储4000字节的信息。

  2. NCHAR:一个包含UNICODE格式数据的定长字符串。NCHAR字段最多可以存储2000字节的信息,它的最大长度取决于国家字符集。

三、数据类型:

number(p,s) :p:有效位数    s:小数位的精度

说明:

  1. 先计算s如果长度不够,用0填充,如果超出四舍五入;

  2. 再计算p:不包括+-号和小数点,从第一个不为0的数字开始计算;超出会报错。

  3. 如果不写s,代表是整数。

  4. 小数点前最多可以有(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类型

  1. ROWID

ROWID是一种特殊的列类型,称之为伪列(pseudocolumn)。ROWID伪列在SQL SELECT语句中可以像普通列那样被访问。ROWID表示行的地址,ROWID伪列用ROWID数据类型定义。Oracle数据库中每行都有一个伪列。

ROWID与磁盘驱动的特定位置有关,因此,ROWID是获得行的最快方法。但是,行的ROWID会随着卸载和重载数据库而发生变化,因此建议不要在事务中使用ROWID伪列的值。例如,一旦当前应用已经使用完记录,就没有理由保存行的ROWID。不能通过任何SQL语句来设置标准的ROWID伪列的值。

列或变量可以定义成ROWID数据类型,但是Oracle不能保证该列或变量的值是一个有效的ROWID。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论