参考:ORACLE设计与开发与DBA管理.pdf
1.SELECT next_day(hiredate,'星期五'),hiredate FROM emp;
日期是格式和字符集敏感的,如果是中文客户端就用'星期五' ,英文客户端就用'friday'. 我的是中文的PL/SQL Developer 英文不识别
2.trunc 数字的进位和截取是以小数点为中心,我们取小数点前或后的值,而日期的进位和截取是以年月日时分秒为中心的
3.to_char 格式内加入字符串请双引 fm去掉前置0
SELECT hiredate,to_char(hiredate,'fmyyyy"年"mm"月"dd"日"')FROM emp; 正确
SELECT hiredate,to_char(hiredate,'fmyyyy年mm月dd日')FROM emp; 错误 ORA-01821: 日期格式无法识别
4子查询返回多行,用=不可以,得用in , 子查询返回多列,所以对比的列也要匹配
例如 SELECT deptno,ename,sal FROM emp WHERE (deptno,sal) IN(
SELECT deptno,MAX(sal) FROM emp GROUP BY deptno);