- intersect语句为交集、minus为前者减去后者
- union、union all 时 order by 语句必须位于最后一个select后,且order by 语句所指定的第一个查询语句所指列如果有别名,则必须使用alias别名列。
- all、any(some)语句
- all相当于对比值大于后者查询的最大值max
- any相当于对比值大于后者查询的最小值min
- check contraint约束:对比必须返回为bool值,且对比不能引用其他表或行,且不能与诸如sysdate、userid、oraenv等函数进行比较。 view视图可以进行dml操作限制(如果在创建的view结尾处添加with check option 选项,则dml操作必须满足view中定义的where条件)
- 视图定义中不能使用order by、distinct、group by 等语句
- 基表中非null字段必须存在于多定义的视图列中
- 不可以包含如rownum,计算列、函数操作列等伪列
- varchar2中存储的字节数上界是4000. 参数NLS_LENGTH_SEMANTICS表示指定长度方法(select * from nls_database_parameters)。varchar2(10) 表示最多可以存储10个字节,varchar2(10 char)表示最多可以存储10个字符。即varchar2(N)并不一定存储N个字符,而只是存储N个字节。PL/SQL中varchar2最大可以达到32KB。不过,存储在表中,VARCHAR2则被硬性限制为最多只能存放4000字节。
- escape转义关键字,在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。
- to_char(n,[fmt,nlsparms]]) 可以使用dg进行分割处理,其中d为小数点字符,g为分组字符。如 to_char(1890.55,99G999D00) 显示为1,890.55 . FM去除空格 。 9999.0099 允许小数点左边最大4位,小数点右边最小2位,最多4位,且在小数点第五位进行四舍五入。 9的意思为有数字就显示没数字就不显示。0表示没有数字的地方也要用0显示填充.
- oracle 中的rownum是不支持排序的。
- oracle在Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前
- concat在oracle中只允许有两个参数,表示将两个参数连接在一起。
- instr函数: INSTR(源字符串, 目标字符串, 起始位置, 匹配序号) ,如果未找到则返回0
- Oracle TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。如例子:TRUNC(89.985,-1)=80
注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。
- trim函数:要删除指定的字符,只能是单个字符,而不能是多个字符。如果删除多个字符串需要使用rtrim或ltrim,其中所指定的多个字符表示出现任意所指定的字符都将删除。
- FM FX 用于对to_*函数控制空白填充或精确检查。