开发工具与关键技术:oracle、sql plus 、plsql
作者:Amewin
撰写时间:2019年3月27日
一些特别的注意事项:
一些需要注意的规则:
字符和日期要包含在单引号中
DUAL 伪表
DISTINCT 去除重复行
注:通用函数有专门处理null 的函数
比较运算
操作符 | 含义 |
---|---|
= | 等于(不是==) |
> | 大于 |
>= | 大于、等于 |
<= | 小于、等于 |
> | 大于 |
其他比较运算
操作符 | 含义 |
---|---|
BETWEEN…AND… | 在两个值之间 |
IN(SET) | 等于值列表中的一个 |
LIKE | 模糊查询 |
IS NULL | 空值 |
模糊查询
回避特殊符号的:使用转义符。例如:将[%]转为[%]、[_]转为[_],然后再加上[ESCAPE ‘\’] 即可。
Select name from tableName
Where name like ‘name_%’ escape ‘\’
逻辑运算
操作符 | 含义 |
---|---|
AND | 逻辑并 |
OR | 逻辑或 |
NOT | 逻辑否 |
截取字符串长度 select substr(‘Hello World’,3,4) from dual;
排序
order by asc升序 / desc 降序
注:默认升序,也可按别名排序。
单行函数
未完待续
操作符 | 含义 |
---|---|
Concat | 拼接字符串 Concat 有点类似 |
substr | 截取 select substr(‘Hello World’,3,4) from dual; |
Length | 字符串长度 |
instr | 查找位置 select instr(‘Hello World’,‘r’) 位置 from dual; |
LPAD | 向左补齐 |
RPAD | 向右补齐 |
trim | 剔除/去空格 |
Upper | 大写化 |
lower | 小写化 |
REPLACE | 替换 |
数字函数
操作符 | 含义 | 用法 |
---|---|---|
round | 四舍五入 | select round(45.666,2) from dual; |
trunc | 截断 | select trunc(45.666,2) from dual; |
mod | 求余 | select mod(45.666,2) from dual; |
该函数可以用于日期的计算
ROUND :四舍五入 ROUND(45.926, 2) 45.93
TRUNC :截取 TRUNC(45.926, 2) 45.92
MOD :取余 MOD(1600, 300) 结果:100
数据类型转换
操作符 | 含义 |
---|---|
to_char(*) | 转换字符串 |
to_date(*) | 转换日期 |
to_number (*) | 转换成数字 |
TO_CHAR(salary, ‘L99,999.00’) | 转换成货币格式 $ 美元 L 当地货币 |
to_char—转换成字符型数据
vselect to_char (sysdate,‘yyyy-mm-dd hh:mi:ss’) from dual; 时间是12小时制
select to_char (sysdate,‘yyyy-mm-dd pmhh:mi:ss’) from dual; 时间前面带上午下午
select to_char (sysdate,‘yyyy-mm-dd pmhh:mi:ss’) from dual; 12小时制时间前面不带0
select to_char (sysdate,‘yyyy-mm-dd hh24:mi:ss’) from dual; 24小时制时间
select to_char (sysdate,‘yyyy-mm-dd pmhh24:mi:ss’) from dual; 24小时制前面显示上午下午
通用函数
•NVL (expr1, expr2) 1为处理函数 ,2当1为null返回
•NVL2 (expr1, expr2, expr3)
1为处理函数 ,2当1为null返回2 ,3当1为非空时返回3
•NULLIF (expr1, expr2) 1 和2 相等时返回 null
•COALESCE (expr1, expr2, …, exprn)
COALESCE 如果第一个表达式为空,则返回下一个表达式,对其他的参数进行COALESCE
COALESCE(commission_pct, salary, 10)