oracle的一些沒注意到的細節

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章