oracle常用数据类型

合集下载

Oracle中的数据类型

Oracle中的数据类型

Oracle中的数据类型Ø简介本⽂主要来讨论 Oracle 中的数据类型,包括以下内容:1.概念介绍2.数值类型3.字符类型4.⽇期类型5.⼤数据与⼆进制类型6.列举常⽤类型的数字代码1.概念介绍在我们的程序中有各种数据类型,⽽在 Oracle 中也有很多种类型,其实每⼀种语⾔的数据类型都会跟数据库中的数据类型⼤致的对应起来。

⽐如:在 Oracle 中主要分为四⼤数据类型,即:数字类型、字符类型、⽇期类型,以及⼤数据与⼆进制类型,下⾯就来讨论着⼏种常⽤的数据类型。

2.数值类型1)NUMBER(Type = 2)number 类型是 Oracle 中常⽤的数据类型,即可以⽤于存储整数整数,也可以存储⼩数⼩数,是⼀个⾮常有意思的数据类型。

number 是⼀个可变长度可变长度的数据类型,并且始终保持四舍五⼊四舍五⼊的原则。

number 可以指定两个参数 number(p,s):l p表⽰有效位,从左边第⼀个⾮0的数字开始数,到结尾的长度,取值范围:1 ~ 38;l s表⽰⼩数位,取值范围:-84 ~ 127。

注意:注意:通常情况下(需要整数位时),应该 p > s,例如:1.number(3,2) 只能存储:0.01 ~ 9.99 和 -0.01 ~ -9.992.number(3,3) 只能存储:0.001 ~ 0.999 和 -0.001 ~ -0.9993.number(2,3) 只能存储:0.001 ~ 0.099 和 -0.001 ~ -0.099n number 可以表⽰的数值范围:-1.0e-130 ~ 1.0e+126,占⽤空间为1 ~ 22 个字节。

下⾯看⼏个常见的例⼦:1.numbercreate table t_number(num number);insert into t_number values(56);insert into t_number values(56.78);select * from t_number;执⾏以上语句,实际存储为56和56.78。

oracle中float类型

oracle中float类型

Oracle中的Float类型在Oracle数据库中,Float是一种数值数据类型,用于存储浮点数。

Float类型可以存储小数,包括正数、负数和零。

在本文中,我们将详细介绍Oracle中Float 类型的特点、用法和相关注意事项。

Float类型的特点•Float类型在Oracle中用于存储近似数值,而不是精确数值。

这意味着Float类型的数据可能会存在一定的舍入误差。

•Float类型的存储空间是可变的,根据存储的数值范围和精度来动态调整。

•Float类型支持单精度和双精度两种精度级别,分别对应Float和Double 类型。

创建Float类型的列在Oracle中,可以使用以下语法创建一个Float类型的列:CREATE TABLE table_name(column_name FLOAT(precision));其中,table_name是表的名称,column_name是列的名称,precision是指定精度级别的参数。

如果不指定精度级别,默认为双精度。

例如,创建一个名为employees的表,其中包含一个名为salary的Float类型列,可以使用以下语句:CREATE TABLE employees(salary FLOAT);存储Float类型的数据在插入数据时,可以直接将浮点数值赋值给Float类型的列。

例如,插入一个值为3.14的浮点数到salary列中,可以使用以下语句:INSERT INTO employees (salary) VALUES (3.14);查询Float类型的数据当查询Float类型的数据时,可以使用标准的SELECT语句。

例如,查询employees 表中salary列的平均值,可以使用以下语句:SELECT AVG(salary) FROM employees;Float类型的注意事项在使用Float类型时,需要注意以下几点:•由于Float类型是近似数值,因此在进行数值比较时可能会存在一定的误差。

oracle数据库基本数据类型

oracle数据库基本数据类型

oracle数据库基本数据类型
Oracle数据库有许多基本数据类型,包括:
1. 字符型:
- CHAR:固定长度的字符型,最长可达2000个字节。

- VARCHAR2:可变长度的字符型,最长可达4000字节。

- CLOB:用于存储大量文本数据的字符型,最长可达4GB。

- NCHAR:固定长度的Unicode字符型,最长可达2000个字节。

- NVARCHAR2:可变长度的Unicode字符型,最长可达4000字节。

- NCLOB:用于存储大量Unicode文本数据的字符型,最长可达4GB。

2. 数值型:
- NUMBER:用于存储数值数据的类型,包括整数和浮点数。

- BINARY_FLOAT:用于存储单精度浮点数。

- BINARY_DOUBLE:用于存储双精度浮点数。

3. 日期和时间型:
- DATE:用于存储日期和时间信息。

- TIMESTAMP:用于存储日期、时间和时区信息。

4. 二进制型:
- RAW:用于存储二进制数据的类型,最长可达2000字节。

- BLOB:用于存储大量二进制数据的类型,最长可达4GB。

5. BOOLEAN型:用于存储布尔值(TRUE或FALSE)。

这些基本数据类型可以通过组合和修饰符进行扩展和定制。

oracle中type类型

oracle中type类型

oracle中type类型(原创实用版)目录1.Oracle 中 Type 类型的概述2.Oracle 中 Type 类型的分类3.Oracle 中 Type 类型的使用示例4.Oracle 中 Type 类型的优缺点正文【1.Oracle 中 Type 类型的概述】Oracle 中的 Type 类型是一种用户自定义的数据类型,它可以用于创建具有特定数据格式和约束的列。

Type 类型在 Oracle 数据库中起到了数据类型的封装和扩展作用,可以帮助开发者更好地管理数据,并提高数据的一致性和准确性。

【2.Oracle 中 Type 类型的分类】Oracle 中的 Type 类型主要分为以下几类:1.基本数据类型:包括字符型、数字型、日期型等常用数据类型。

2.复合数据类型:包括数组、记录、表等复杂数据类型。

3.引用数据类型:包括指向其他表或对象的指针类型。

4.用户自定义数据类型:由开发者根据需求自定义的数据类型。

【3.Oracle 中 Type 类型的使用示例】以下是一个使用 Oracle 中 Type 类型的示例:假设我们要创建一个名为“employee”的表,其中包含员工的 ID、姓名、性别、年龄和工资等信息。

我们可以使用 Type 类型来创建一个名为“employee_type”的自定义数据类型,用于封装员工的基本信息。

创建自定义数据类型:```CREATE TYPE employee_type AS OBJECT (id NUMBER,name VARCHAR2(50),gender CHAR(1),age NUMBER,salary NUMBER);```创建表:```CREATE TABLE employee (id NUMBER PRIMARY KEY,name employee_type,gender CHAR(1),age NUMBER,salary NUMBER);```插入数据:```INSERT INTO employee (id, name, gender, age, salary)VALUES (1, employee_type("张三", "男", 30, 10000), "男", 30, 10000);```查询数据:```SELECT * FROM employee;```【4.Oracle 中 Type 类型的优缺点】优点:1.可以提高数据的一致性和准确性,便于数据管理和维护。

oracle 的数据类型

oracle 的数据类型

Oracle的数据类型一、概述在Oracle数据库中,数据类型是定义列或变量的属性,用于存储不同类型的数据。

数据类型在数据库设计和数据存储过程中起着关键的作用。

Oracle提供了丰富的数据类型,包括数值类型、字符类型、日期类型、大对象类型等。

本文将详细介绍Oracle的各种数据类型及其特点。

二、数值类型1. NUMBERNUMBER是Oracle中最常用的数值类型。

它可以存储任意精度的数值,包括整数和小数。

以下是一些常见的NUMBER类型的子类型:•NUMBER(precision): 存储精度为precision的数值。

•NUMBER(precision, scale): 存储精度为precision且小数位数为scale的数值。

2. INTEGERINTEGER是一种整数类型,它只能存储整数值。

它可以使用以下子类型:•INTEGER(precision): 存储精度为precision的整数值。

3. BINARY_FLOAT和BINARY_DOUBLEBINARY_FLOAT和BINARY_DOUBLE是用于存储浮点数的数据类型。

BINARY_FLOAT用于单精度浮点数,BINARY_DOUBLE用于双精度浮点数。

1. CHARCHAR是一种定长字符类型,它可以存储固定长度的字符串。

在创建CHAR类型的列或变量时,必须指定长度。

2. VARCHAR2VARCHAR2是一种可变长度字符类型,它可以存储可变长度的字符串。

在创建VARCHAR2类型的列或变量时,必须指定最大长度。

3. CLOBCLOB是用于存储大文本对象的数据类型。

它可以存储最大长度为4GB的文本数据。

四、日期类型1. DATEDATE是Oracle中用于存储日期和时间的数据类型。

它存储的范围从公元前4712年到公元9999年。

2. TIMESTAMPTIMESTAMP用于存储日期和时间,精确到纳秒级别。

它包括以下子类型:•TIMESTAMP: 存储日期和时间,精确到秒级别。

oracle数据类型详解---日期型(转载)

oracle数据类型详解---日期型(转载)

oracle数据类型详解---⽇期型(转载)oracle 数据类型详解---⽇期型oracle数据类型看起来⾮常简单,但⽤起来会发现有许多知识点,本⽂是我对ORACLE⽇期数据类型的⼀些整理,都是开发⼊门资料,与⼤家分享:注:由于INTERVAL及TIME ZONE实际⽤得⽐较少,所以本⽂内容未涉及这两个⽅⾯。

1、常⽤⽇期型数据类型1.1、DATE这是ORACLE最常⽤的⽇期类型,它可以保存⽇期和时间,常⽤⽇期处理都可以采⽤这种类型。

DATE表⽰的⽇期范围可以是公元前4712年1⽉1⽇⾄公元9999年12⽉31⽇date类型在数据库中的存储固定为7个字节,格式为:第1字节:世纪+100第2字节:年第3字节:⽉第4字节:天第5字节:⼩时+1第6字节:分+1第7字节:秒+11.2、TIMESTAMP(p)这也是ORACLE常⽤的⽇期类型,它与date的区别是不仅可以保存⽇期和时间,还能保存⼩数秒,⼩数位数可以指定为0-9,默认为6位,所以最⾼精度可以到ns(纳秒),数据库内部⽤7或者11个字节存储,如果精度为0,则⽤7字节存储,与date类型功能相同,如果精度⼤于0则⽤11字节存储。

格式为:第1字节:世纪+100第2字节:年第3字节:⽉第4字节:天第5字节:⼩时+1第6字节:分+1第7字节:秒+1第8-11字节:纳秒,采⽤4个字节存储,内部运算类型为整形注:TIMESTAMP⽇期类型如果与数值进⾏加减运算会⾃动转换为DATE型,也就是说⼩数秒会⾃动去除。

1.3、DATE与TIMESTAMP类型内部存储验证1create table T2 (3 C1 DATE,4 C2 TIMESTAMP(9)5 );67insert into t(c1,c2) values(date'2010-2-12',timestamp'2010-2-12 13:24:52.234123211');8insert into t(c1,c2) values(9 to_date('2010-2-12 10:20:30','YYYY-MM-DD HH24:MI:SS'),10 to_timestamp('2010-2-12 13:24:52.123456','YYYY-MM-DD HH24:MI:SS.FF6')11 );1213 SQL>select c1,dump(c1) c1_d,c2,dump(c2) c2_d from t;C1 C1_D C2 C2_D------------------------ ---------------------------------------- ---------------------------------------- -----------------------------------------------------2010-2-12 Typ=12 Len=7: 120,110,2,12,1,1,1 12-FEB-10 01.24.52.234123211 PM Typ=180 Len=11:120,110,2,12,14,25,53,13,244,111,2032010-2-12 上午 10:20:30 Typ=12 Len=7: 120,110,2,12,11,21,31 12-FEB-10 01.24.52.123456000 PM Typ=180 Len=11:120,110,2,12,14,25,53,7,91,202,0以下是为了测试是为了验证TIMESTAMP的⼩数位存储算法:1 SQL>select c2,dump(c2,16) c2_d16 from t;C2 C2_D16---------------------------------------- --------------------------------------------------------------------------------12-FEB-10 01.24.52.234123211 PM Typ=180 Len=11: 78,6e,2,c,e,19,35,d,f4,6f,cb12-FEB-10 01.24.52.123456000 PM Typ=180 Len=11: 78,6e,2,c,e,19,35,7,5b,ca,0SQL>select to_number('0df46fcb','xxxxxxxx') mydata1,to_number('075bca00','xxxxxxxx') mydata2 from dual;MYDATA1 MYDATA2---------- ----------234123211 1234560002、常见问题2.1、如何取当前时间sysdate--返回当前系统⽇期和时间,精确到秒systimestamp--返回当前系统⽇期和时间,精确到毫秒2.2、如何进⾏⽇期运算⽇期型数据可以与数值加减得到新的⽇期,加减数值单位为天sysdate+1--取明天的当前时间sysdate-1/24--取当前时间的前⼀个⼩时SQL>select sysdate d1,sysdate+1 d2,sysdate-1/24 d3 from dual;D1 D2 D3------------------------ ------------------------ ------------------------2010-5-13 下午 10:55:16 2010-5-14 下午 10:55:16 2010-5-13 下午 09:55:162.3、如何求两个⽇期的间隔时间可以直接把两个⽇期相减,返回的单位为天,⼩时及分秒会换算成⼩数SQL>select date'2012-01-01'-sysdate from dual;DATE'2012-01-01'-SYSDATE------------------------597.0460300925932.4、如何将⽇期转字符to_char(sysdate,'YYYY-MM-DD HH24:MI:SS')2.5、如何将字符转⽇期to_date('2010-02-24 15:01:54','YYYY-MM-DD HH24:MI:SS')to_timestamp('1999-12-01 11:00:00.123456','YYYY-MM-DD HH:MI:SS.FF6')3、常⽤⽇期函数3.1、TO_CHAR(DATE,FORMATSTR)--格式化⽇期成字符SQL>select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') d1 from dual;D1------------------------2010-05-13 22:56:38TO_CHAR的其它⽤法⽰例1 SQL>SELECT TO_CHAR(date '2010-02-12', 'D') week_dayth,--周第⼏天(1-7),星期天=1,星期⼀=2,星期⼆=3,星期三=4,星期四=5,星期五=6,星期六=72 TO_CHAR(date '2010-02-12', 'DD') month_dayth,--⽉第⼏天3 TO_CHAR(date '2010-02-12', 'DDD') year_dayth,--年第⼏天4 TO_CHAR(date '2010-02-12', 'DAY') weekdayname,--英⽂星期名5 _CHAR(date '2010-02-12', 'w') month_weekth,--⽉第⼏周(0-4)6 TO_CHAR(date '2010-02-12', 'ww') year_weekth--年第⼏周(0-53)7FROM DUAL;WEEK_DAYTH MONTH_DAYTH YEAR_DAYTH WEEKDAYNAME MONTH_WEEKTH YEAR_WEEKTH---------- ----------- ---------- ----------- ------------ -----------6 12 043 FRIDAY 2 073.2、TO_DATE(CHAR,FORMATSTR) --将字符转换成⽇期to_date('2010-02-24 15:01:54','YYYY-MM-DD HH24:MI:SS')格式备注:HH表⽰12⼩时进制,HH24表⽰采⽤24⼩时进制,MM表⽰⽉份,MI表⽰分钟。

oracle数据库的number类型

oracle数据库的number类型

oracle数据库的number类型[Oracle数据库的Number类型]Oracle数据库中的Number类型是一种用于存储数值类型的数据类型。

它可以存储整数和小数,并提供了许多用于数值计算和比较的函数和操作符。

在本篇文章中,我们将详细介绍Oracle数据库的Number类型,包括其特性、存储方式、相关的函数和操作符,以及一些使用示例。

一、Number类型的特性1. 存储范围:Oracle的Number类型可以存储非常大的数值范围,从-10^130到10^130。

这个范围远远超过了其他常见数据库类型,如整数或浮点数。

2. 精度和小数位数:Number类型支持可变的精度和小数位数。

它可以存储任意位数的整数和小数。

默认情况下,Oracle使用38位精度和0位小数位数。

3. 空值处理:Number类型可以存储空值(NULL)。

这意味着在表中可以将Number列设置为NULL,表示该列没有具体的数值。

4. 精确计算:与一些其他数据库类型(如浮点数)不同,Number类型的计算结果是精确的。

它不会出现浮点数计算中的舍入误差。

二、Number类型的存储方式在Oracle数据库中,Number类型的数值是以二进制形式存储的。

每个Number 值根据需要占用固定的存储空间,不受具体数值的大小影响。

存储空间的大小由精度和小数位数决定。

例如,如果一个Number列被定义为NUMBER(10,2),那么它将占用5个字节的存储空间。

这是因为10位的精度和2位的小数位数需要5个字节的存储空间(每个字节8位)。

三、Number类型的函数和操作符Oracle数据库提供了许多函数和操作符,用于操作和处理Number类型的数据。

以下是一些常用的函数和操作符示例:1. 四则运算:Number类型支持加法、减法、乘法和除法运算。

例如,可以使用+操作符将两个Number值相加:NUM1 + NUM2。

2. 数值比较:可以使用比较操作符(如>、<、=)来比较两个Number值的大小。

oracle的clob类型

oracle的clob类型

Oracle的CLOB类型1. 引言Oracle数据库是一种关系型数据库管理系统,支持高效的数据存储和管理。

其中,CLOB(Character Large Object)类型是Oracle数据库中用于存储大量字符数据的一种数据类型。

本文将深入探讨Oracle的CLOB类型,包括其定义、用途、操作方法和性能优化等方面。

2. CLOB类型的定义与特点2.1 定义CLOB类型是Oracle数据库中用于存储大文本数据的一种数据类型。

它可以存储最大长度为4GB的字符数据,并且支持各种字符集。

CLOB类型通常用于存储文档、报表、XML数据等大量字符数据。

2.2 特点CLOB类型具有以下特点:•存储大容量的字符数据:CLOB类型可以存储最大长度为4GB的字符数据,适合存储大型文档、长报表等数据。

•支持各种字符集:CLOB类型支持多种字符集,可以存储不同语言的字符数据。

•高效存储与检索:Oracle数据库对CLOB类型的存储和检索做了优化,可以提供高效的操作性能。

•支持文本处理函数:CLOB类型可以使用Oracle数据库提供的文本处理函数进行字符串操作、搜索和替换等操作。

3. CLOB类型的用途CLOB类型在很多应用场景中具有广泛的用途:3.1 存储文档和报表CLOB类型可以用于存储各种文档和报表数据,例如Word文档、Excel报表、PDF文件等。

通过CLOB类型,可以将这些文档存储在数据库中,并能够在需要时进行检索和处理。

3.2 存储XML数据CLOB类型可以用于存储XML数据。

XML是一种常用的数据交换格式,通过CLOB类型,可以将XML数据存储在数据库中,并能够使用XML解析器对其进行解析和处理。

3.3 存储大型字符串CLOB类型可以用于存储大型字符串数据,例如长篇文章、博客内容等。

通过CLOB类型,可以将这些大型字符串存储在数据库中,并能够进行全文搜索、关键字提取等操作。

4. CLOB类型的操作方法4.1 创建表时使用CLOB类型使用CLOB类型创建表时,需要在表定义中指定该列的数据类型为CLOB。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DECIMAL FLOAT REAL INTEGER,INT BINARY_FLOAT
BINARY_FLOAT
10g中新增的数据类型,用来存储最高精度64位的浮点数,一般比 NUMBER类型速度更快,占用9个字节的存储空间。
பைடு நூலகம்
常用的数字数据类型
BINARY_INTEGER
NATURAL NATURALN POSITIVE POSITIVEN
TIMESTAMP[(precision)]
从9i开始新增的类型,也用于存储日期和 时间,比DATE类型存储的时间更精确。 Precision代表秒的小数部分的位数, 取值范围0到9,默认为6。 日期函数SYSTIMESTAMP返回当前的日 期时间信息。
数据类型
常用的字符数据类型
描述
CHAR[(max_size[CHAR|BYTE])]
用于存储固定长度的字符数据。最大长度32767个字 节。如果不指定最大长度,默认值为1。如果没 有写CHAR或BYTE,默认为BYTE。需注意与 Oracle中CHAR类型的区别,向Oracle数据库表 中插入CHAR类型的值时,其长度不要超出2000 个字节。 用于存储可变长度的字符数据。最大长度32767个字 节。如果没有写CHAR或BYTE,默认为BYTE。 需注意与Oracle中VARCHAR2类型的区别,向 Oracle数据库表中插入VARCHAR2类型的值时, 其长度不要超出4000个字节。 类似于VARCHAR2 类似于VARCHAR2,最大长度为32760个字节,注 意Oracle中的该类型最大长度为2GB。 用于存储固定长度的二进制数据,最大长度为32760 个字节。如有必要可在字符集之间自动转换。 注意Oracle中的该类型最大长度为2000个字节。 类似于RAW,最大长度为32760个字节。不能在字符 集之间自动转换。注意Oracle中的该类型最大长 度为2GB。
SIGNTYPE
PLS_INTEGER
BINARY_INTEGER的子类型,只能存储-1、0和1。
用于存储带符号的整数,大小范围介于-231-1和231-1之间。它 类似于BINARY_INTEGER,但它所需的存储空间更小,运算速 度更快,因此建议在PLS_INTEGER数值范围之内的所有计算都 使用此类型。
用于存储带符号的整数,大小范围介于-231-1和231-1之间。
BINARY_INTEGER的子类型,可用于存储非负整数,即自然数。 BINARY_INTEGER的子类型,可用于存储自然数,且不能为空。 BINARY_INTEGER的子类型,可用于存储正整数。 BINARY_INTEGER的子类型,可用于存储正整数,且不能为空。
常用的数字数据类型
数据类型 NUMBER[(precision,sc ale)] 描述 可用来存储整数、定点数和浮点数。Precision是精度,scale是小数 位数,最高精度是38个十进制位。如果不指定精度,默认为38 位。 NUMBER的子类型,用于存储最高精度38位的定点数。 NUMBER的子类型,用于存储最高精度38位的浮点数。 NUMBER的子类型,用于存储最高精度18位的浮点数。 NUMBER的子类型,用于存储最高精度38位的整数。 10g中新增的数据类型,用来存储最高精度32位的浮点数,一般比 NUMBER类型速度更快,占用5个字节的存储空间。
VARCHAR2(max_size[CHAR|BYTE])
STRING(max_size[CHAR|BYTE]) LONG RAW(max_size)
LONG RAW
常用的日期和时间数据类型
数据类型 描述
用于存储固定长度的日期和时间数据。支 持的日期范围为:公元前4712年1月1 日到公元9999年12月31日。 日期函数SYSDATE能返回当前的日期和 时间。 DATE
相关文档
最新文档