oracle的一些没注意到的细节

来源:互联网 发布:程序员赚钱吗 编辑:程序博客网 时间:2024/05/16 10:28

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

原创粉丝点击