Bootstrap

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

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

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

    CREATE TABLE employees (
        employee_id NUMBER,
        first_name VARCHAR2(50),
        last_name VARCHAR2(50)
    );
    
  2. CHAR
    存储固定长度的字符串,不足的部分用空格填充,最大长度为2000字节。

    CREATE TABLE products (
        product_id NUMBER,
        product_code CHAR(10),
        product_name VARCHAR2(100)
    );
    
  3. NUMBER
    存储数字类型,支持整数和浮点数,可以指定精度和小数位。

    CREATE TABLE accounts (
        account_id NUMBER(10),
        balance NUMBER(15, 2)
    );
    
  4. DATE
    存储日期和时间,精度到秒。

    CREATE TABLE orders (
        order_id NUMBER,
        order_date DATE,
        delivery_date DATE
    );
    
  5. TIMESTAMP
    存储日期和时间,精度到小数秒部分。

    CREATE TABLE events (
        event_id NUMBER,
        event_timestamp TIMESTAMP
    );
    
  6. CLOB
    存储大文本数据(字符大对象),最大可达4GB。

    CREATE TABLE documents (
        document_id NUMBER,
        content CLOB
    );
    
  7. BLOB
    存储二进制大对象数据,最大可达4GB。

    CREATE TABLE multimedia (
        media_id NUMBER,
        media_content BLOB
    );
    
  8. RAW
    存储二进制数据,最大长度为2000字节。

    CREATE TABLE binary_data (
        data_id NUMBER,
        data_content RAW(2000)
    );
    
  9. LONG
    存储可变长度的字符串,最大长度为2GB,不过该数据类型已经逐步被CLOB取代。

    CREATE TABLE long_text (
        text_id NUMBER,
        text_content LONG
    );
    
  10. BFILE
    存储对外部文件的引用,文件存储在数据库外部。

    CREATE TABLE external_files (
        file_id NUMBER,
        file_path BFILE
    );
    
  11. INTERVAL YEAR TO MONTH
    存储表示时间间隔的类型,精度为年到月。

    CREATE TABLE project_durations (
        project_id NUMBER,
        duration INTERVAL YEAR TO MONTH
    );
    
  12. 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数据类型,并展示了如何在创建表时使用它们。

;