11、replace 替換
格式:(原字符串,要查找的字符或字符串,替換的字符或字符串)
select replace('hello world','o','a') from dual; //替換時區分大小寫
select e.empno,replace(e.ename,'S','J') from emp e;
12、去除空格的函數
trim 去除字符串2邊的空格
ltrim 去除字符串左邊的空格 (left)
rtrim 去除字符串右邊的空格 (right)函數
十3、日期類型
to_date:(把字符串轉換成日期的函數)
to_date(要轉換成日期的字符串, 轉換格式)
select to_date('2017-04-20 14:30:12','yyyy-mm-dd HH24:mi:ss') from dual;
to_char() (能夠把日期或數字轉換成字符串)
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss:SSSS') from dual;
select to_char(1234.5, '$9999D9') from dual;字符串
--查詢今天是今年的多少天
select to_char(sysdate, 'DDD') from dual;
--查詢當月的多少天
select to_char(sysdate, 'DD') from dual;
--查詢這個星期的第多少天
select to_char(sysdate, 'D') from dual;table
to_number--把字符數字 轉換成數字ast
計算2個日期之間相差的天數
select trunc(sysdate-hiredate) from dual;
--當前日期前5年的時間
select sysdate, sysdate - interval '5' year from dual;
--當前日期前5個月的日期
select sysdate, sysdate - interval '5' month from dual;test
months_between 返回2個日期之間相差的月數基礎
add_months --在一個日期基礎上增長若干個月
select add_months(sysdate, 2) from dual;
select add_months(sysdate, -2) from dual;
last_day--返回當月的最後一天
select to_char(last_day(sysdate), 'yyyy-mm-dd') from dual; date
十4、查詢記錄總數
select count(*) from 表名
select count(*) from emp;
select count(1) from emp;
select count(comm) from emp; //只會統計comm != null 的 記錄
1.求最大工資的員工
select max(sal) from emp where sal is not null;
2:求最小值的數據
select min(列名) from 表名
3:求和
select sum(列名) from 表名
4:求平均值
select avg(列名) from 表名
5.連合查詢,求值的字段必須是數值類型的字段
select avg(sal),sum(sal),max(sal),min(sal) from emp;select
6:分組查詢
--查詢出每一個部門的平均工資(按部門分組)
select floor(avg(sal)),deptno from emp group by deptno;
--查詢每一個部門的總工資和,平均工資,最高工資
select floor(avg(sal)) as 平均工資,sum(sal) 總工資, max(sal) 最高工資,deptno from emp group by deptno;
--查詢每一個部門,每一個工做的總工資和
select sum(sal) 總工資, deptno, job from emp group by deptno,job
--查詢出每一個部門,每一個工種的總人數
select count(1),deptno,job from emp group by deptno,job;
--查詢每一個部門的員工數
select count(1),deptno from emp group by deptno;
十5、列的操做
1.新增列
ALTER TABLE (表名) ADD (列名 數據類型);
alter table t_test add tname nvarchar2(20);數據類型
2.改某個表某個列的數據類型
ALTER TABLE (表名) MODIFY (列名 數據類型);
alter table t_test modify tname nvarchar2(20);im
3.更改列名
ALTER TABLE (表名) RENAME COLUMN (當前列名) TO (新列名); /////不須要括號
alter table t_test rename COLUMN tname to tname2
4.刪除某列
ALTER TABLE (表名) DROP COLUMN (列名);
alter table t_test drop COLUMN tname2
5.重命名錶名 ALTER TABLE (當前表名) RENAME TO (新表名); alter table t_test rename to t_test2;