首页 / 世界杯吉祥物

Oracle(11)Oracle有哪些常见的数据类型?

2025-10-08 10:55:49世界杯吉祥物 2600

Oracle数据库提供了多种数据类型,用于存储不同类型的数据。以下是一些常见的Oracle数据类型,并结合代码进行详细说明:

VARCHAR2:

存储可变长度的字符串,最大长度为4000字节。

CREATE TABLE employees (

employee_id NUMBER,

first_name VARCHAR2(50),

last_name VARCHAR2(50)

);

CHAR:

存储固定长度的字符串,不足的部分用空格填充,最大长度为2000字节。

CREATE TABLE products (

product_id NUMBER,

product_code CHAR(10),

product_name VARCHAR2(100)

);

NUMBER:

存储数字类型,支持整数和浮点数,可以指定精度和小数位。

CREATE TABLE accounts (

account_id NUMBER(10),

balance NUMBER(15, 2)

);

DATE:

存储日期和时间,精度到秒。

CREATE TABLE orders (

order_id NUMBER,

order_date DATE,

delivery_date DATE

);

TIMESTAMP:

存储日期和时间,精度到小数秒部分。

CREATE TABLE events (

event_id NUMBER,

event_timestamp TIMESTAMP

);

CLOB:

存储大文本数据(字符大对象),最大可达4GB。

CREATE TABLE documents (

document_id NUMBER,

content CLOB

);

BLOB:

存储二进制大对象数据,最大可达4GB。

CREATE TABLE multimedia (

media_id NUMBER,

media_content BLOB

);

RAW:

存储二进制数据,最大长度为2000字节。

CREATE TABLE binary_data (

data_id NUMBER,

data_content RAW(2000)

);

LONG:

存储可变长度的字符串,最大长度为2GB,不过该数据类型已经逐步被CLOB取代。

CREATE TABLE long_text (

text_id NUMBER,

text_content LONG

);

BFILE:

存储对外部文件的引用,文件存储在数据库外部。

CREATE TABLE external_files (

file_id NUMBER,

file_path BFILE

);

INTERVAL YEAR TO MONTH:

存储表示时间间隔的类型,精度为年到月。

CREATE TABLE project_durations (

project_id NUMBER,

duration INTERVAL YEAR TO MONTH

);

INTERVAL DAY TO SECOND:

存储表示时间间隔的类型,精度为天到秒。

CREATE TABLE task_durations (

task_id NUMBER,

duration INTERVAL DAY TO SECOND

);

代码示例

以下是一个包含多种数据类型的表的创建示例:

CREATE TABLE example_table (

id NUMBER PRIMARY KEY,

name VARCHAR2(100) NOT NULL,

description CLOB,

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

updated_at TIMESTAMP,

document BLOB,

status CHAR(1),

salary NUMBER(10, 2),

birthday DATE,

start_time INTERVAL DAY TO SECOND,

project_duration INTERVAL YEAR TO MONTH,

external_document BFILE

);

这个表包含了多种常见的Oracle数据类型,并展示了如何在创建表时使用它们。