參考: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);