5.8杂记

SELECT * FROM EMP WHERE JOB NOT IN ('CLERK','MANAGER')-- 不包括
select * from emp where comm is null   --为空
select * from emp where comm  is not null -- 不为空
select * from emp where hiredate > '02-4月-1981' --默认格式
-函数的分类
--单行函数  对(多行)每一条记录进行操作,分别产生一条记录   14---14  lower(ename),upper(ename),initcap(ename)
--多行函数  对(多行)每一条记录进行操作,结果只产生一条记录   max(sal),min(sal),sum(sal),avg(sal)

自动转换
select 12+'23' from dual; -- 35 + 只是算术运算符  自动转换成数字
select 12+'23abc' from dual; --错误
select 12||'23abc' from dual;   --  || 不是or运算,而是字符串拼接运算符
select * from emp where hiredate < '17-12月-1985'  --自动转换
日期---字符串
--方法1:自动转换
select * from emp where hiredate < '17-12月-1985'
--方法2:手动转换:hiredate变成字符串to_char()
select * from emp where to_char(hiredate,'YYYY/MM/DD') >'1985/12/17'

--方法3:手动转换:'17-12月-1985'变成日期  to_date()
select * from emp where hiredate > TO_DATE('1985/12/17','YYYY/MM/DD')


select  empno,hiredate,to_char(hiredate),to_char(hiredate,'YYYY/MM/DD')
        ,to_char(hiredate,'YYYY-MM-DD')  ,to_char(hiredate,'YYYY"年"MM"月"DD"日"')from emp
多行函数,操作多行数据,结果只有一行

select count(distinct job) from emp;   去重统计个数

 

猜你喜欢

转载自www.cnblogs.com/FuckJava/p/9011336.html
5.8