## oracle 常用命令 1. 开启监听 `lsnrctl start`,关闭监听`lsnrctl stop`; 2. 查看oracle版本: ```sql select * from v$version; ``` 3. ```sql SPOOL report @run_report -- 指定输出文件可使用SPOOL report.txt SPOOL OFF ``` 将输出的内容写道命名为`report.lst`的文件当中 4. 查看ORACLE相关参数 ``` select * from v$NLS_PARAMETERS; ``` 5. 在sqlplus中执行Linux命令:在Linux命令最前面添加! ,比如`!pics -a` ## oracle 常用函数 1. decode() 以下sql ```sql SELECT supplier_name, decode(supplier_id, 10000, 'IBM', 10001, 'Microsoft', 10002, 'Hewlett Packard', 'Gateway') result FROM suppliers; ``` 相当于 ```sql IF supplier_id = 10000 THEN result := 'IBM'; ELSIF supplier_id = 10001 THEN result := 'Microsoft'; ELSIF supplier_id = 10002 THEN result := 'Hewlett Packard'; ELSE result := 'Gateway'; END IF; ``` 比如以下语句 ```sql select decode(a.count,1,3) from (select count(*) as count from dual) a; ``` 2. mod 函数 mod(除数,被除数) ```sql select mod(2,4) from dual; ``` 3. nvl 函数 ```sql nvl(expre1,expre2) ``` 当expre1 为空时返回expre2的值 4. multiset 函数 告诉oracle这个查询想返回多行数据 5. case函数 对oracle的对象进行强制转换,比如 ```sql select case( empno as varchar2(20) ) e from eoda.emp; ```