Oracle PL/SQL入门小记(2)

发布于 2019-08-08  3.61k 次阅读


通配符

一般用于模糊查找,通配符用于代替那些未知或者有固定前后缀的字符串,类似正则表达式。

通配符 描述
% 替代 0 个或多个字符
_ 替代一个字符
[charlist] 字符列中的任何单一字符
[^charlist]
或者
[!charlist]
不在字符列中的任何单一字符

查询例:

select * from dual where ename like '%xu%'

那么,可能的结果有:Caixukun,xuriyanggang,yanchengxu等等,%可以代替字符,也可以不代替。

如果明确知道几个字符,那么可以这样:

select * from dual where ename like '_aixukun'

结果可能有:Laixukun,Gaixukun,Haixukun等等很多。

还可以这样:

select * from dual where ename like '[A-Z]xukun'

这样就匹配到表中开头A-Z的所有xukun。

这样:

select * from dual where ename like '[^C]xukun'

就表示结果中不含Caixukun 这一项。

数据类型

数据类型 描述
CHARACTER(n) 字符/字符串。固定长度 n。
VARCHAR(n) 或者
CHARACTER VARYING(n)
字符/字符串。可变长度。最大长度 n。
BINARY(n) 二进制字符串。固定长度 n。
BOOLEAN TRUE 或 FALSE 值
VARBINARY(n) 或
BINARY VARYING(n)
二进制串。可变长度。最大长度 n。
INTEGER(p) 整数值(没有小数点)。精度 p。
SMALLINT 整数值(没有小数点)。精度 5。
INTEGER 整数值(没有小数点)。精度 10。
BIGINT 整数值(没有小数点)。精度 19。
DECIMAL(p,s) 精确数值,精度 p,小数点后位数 s。例如:decimal(5,2) 是一个小数点前有 3 位数,小数点后有 2 位数的数字。
NUMERIC(p,s) 精确数值,精度 p,小数点后位数 s。(与 DECIMAL 相同)
FLOAT(p) 近似数值,尾数精度 p。一个采用以 10 为基数的指数计数法的浮点数。该类型的 size 参数由一个指定最小精度的单一数字组成。
REAL 近似数值,尾数精度 7。
FLOAT 近似数值,尾数精度 16。
DOUBLE PRECISION 近似数值,尾数精度 16。
DATE 存储年、月、日的值。
TIME 存储小时、分、秒的值。
TIMESTAMP 存储年、月、日、小时、分、秒的值。
INTERVAL 由一些整数字段组成,代表一段时间,取决于区间的类型。
ARRAY 元素的固定长度的有序集合
MULTISET 元素的可变长度的无序集合
XML 存储 XML 数据

对应的oracle中的,通用名称,常见有:

数据类型 Oracle
boolean Byte
integer Number
float Number
currency N/A
string (fixed) Char
string (variable) Varchar
Varchar2
binary object Long
Raw

建表选择对应数据类型即可。


電光石火 正面突破。 日進月歩 百花繚乱。 順風満帆 天真爛漫。