Oracle

Oracle

August 7, 2020
Oracle

内置数据类型

分类 数据类型 介绍
字符 CHAR [(size [BYTE | CHAR])] 定长字符串,占据 n 字节
NCHAR[(size)] 定长字符串,占据 2n 字节
VARCHAR2(size) 可变长度的字符串
NVARCHAR2(size) 可变长度的 UNICODE 字符串
数值 NUMBER(p,s) p 代表精度(1 - 38),s 代表 scale (-84 - 127)
FLOAT [(p)] 小数,精度不高
LONG 仅仅为了兼容
日期 DATE 大小固定占用 7 bytes
TIMESTAMP
字节 RAW(size) 定长
LONG RAW 变长,图像、声音、文档、数组,建议使用 LOB
LOB

ROWID 伪列

SELECT ROWID from your_table;

ROWID 不能被用作主键。

ROWNUM 伪列

ROWNUM 是 Oracle 对查询结果自动添加的一个伪列,编号从 1 开始,每一次查询动态生成。

非排序查询 Top N

SELECT stu_no, stu_name, score FROM student WHERE ROWNUM <= 5;

排序查询 Top N

SELECT stu_no, stu_name, score FROM
(
    SELECT stu_no, stu_name, score FROM student ORDER BY score DESC
)
WHERE ROWNUM <= 5;

分页查询

SELECT rn, stu_no, stu_name, score FROM
(
    SELECT ROWNUM rn, stu_no, stu_name, score FROM
    (
        SELECT stu_no, stu_name, score FROM student ORDER BY score DESC
    )
    t1
) t2
WHERE rn >= 4 AND rn <= 6;

参考自 ORACLE中的TOP-N查询(TOP-N分析)、分页查询

参考