------********-----where条件----******----
SQL> --字符大小写敏感
SQL> select *
2 from emp
3 where ename = 'KING';
SQL> --日期格式敏感: 查询入职日期为17-11月-81的员工
SQL> select *
2 from emp
3 where hiredate='17-11月-81';
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------- --------- ---------- -------------- ----- ---------- ----------
7839 KING PRESIDENT 17-11月-81 5000 10
------********-----查看当前日期格式----******----
SQL> select sysdate from dual;
SYSDATE
--------------
19-6月 -13
------********-----查看信息 <span style="font-family: Arial, Helvetica, sans-serif;">v$nls_parameters</span><span style="font-family: Arial, Helvetica, sans-serif;">(包括字符串的格式信息)----******----</span>
SQL> select *
2 from v$nls_parameters;
SQL> col PARAMETER for a30 --注意 for 为format的缩写
SQL> set pagesize 20
SQL> /
PARAMETER VALUE
------------------------------ ----------------------------------------------------------------
NLS_LANGUAGE SIMPLIFIED CHINESE
NLS_TERRITORY CHINA
NLS_CURRENCY ¥
NLS_ISO_CURRENCY CHINA
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
NLS_CHARACTERSET ZHS16GBK
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY ¥
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
已选择19行。
---修改日期的格式:
--(global要管理员权限,表示整个数据库都修改)
--session 为这个会话范围
SQL> alter session set NLS_DATE_FORMAT='yyyy-mm-dd'; --之前为DD-MON-RR
SQL> select * from emp where hiredate='1981-11-17'; --修改后
SQL> select * from emp where hiredate='17-11月-81'; --修改前
------********-----in的注意点:----******----
--结论:空值3. 如果集合中含有null,不能使用not in,但可以使用in
SQL> select * from emp where deptno not in (10,20,null)
SQL> /
未选定行
SQL> ed
已写入 file afiedt.buf
SQL> select * from emp where deptno in (10,20,null)
--有结果
------********-----like的注意点:----******----
SQL> --like 模糊查询 % _
SQL> --查询名字以S打头的员工
SQL> select *
2 from emp
3 where ename like 'S%';
SQL> --查询名字是4个字的员工
SQL> select *
2 from emp
3 where ename like '____';
SQL> --查询名字中含有下划线的员工
SQL> select * from emp where ename like '%\_%' escape '\'
SQL> /
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------- --------- ---------- -------------- ----- ---------- ----------
1001 Tom_ABCD 5000 10
------********-----rollback的作用----******----
--一个rollback貌似将所有的增删改都给清了
SQL> rollback;
回退已完成。
------********-----order by 语法----******----
SQL> --order by后面+列名 表达式 别名 序号
--按照别名排序
SQL> select ename,sal,sal*12 年薪 from emp order by 年薪
--按照序号排序(序号就是列号,注意:从1开始数)
SQL> select ename,sal,sal*12 年薪 from emp order by 3 --第三列对应的是"年薪"
------********-----空值放最后----******----
SQL> --降序排序的时候,怎么将空值放在后面,而不是前面
SQL> --注意:加上nulls last就解决问题
SQL> select * from emp order by comm desc nulls last
传智播客 -- oracle视频