Oracle 基本知识回顾

1.查找数据库所用的字符集编码:SELECT USERENV('language') FROM DUAL;
2.将一个表中的字段,插入到这个表:INSERT INTO TABLE SELECT * FROM TABLE WHERE ID=31;
3.union:返回不重复的行
4.union all:返回所有行,包含重复的行
5.|| 链接操作符(合并字符串)
6.translate(expr, from_strimg, to_string):字符串替换函数
7.concat:链接字符串
8. 

   abs(n)	取绝对值
  ceil(n)	向上取整
  floor(n)	向下取整
  round(m,n)	四舍五入
  trunc(m,n)	截断
  power(m,n)	m的n次幂
  sign(n)	取符号
  mod(m,n)	取m%n的结果

9.查询今天是周几

SELECT SYSDATE ,SYSDATE-1,TO_CHAR(SYSDATE-1, 'd'),TO_CHAR(SYSDATE, 'day') FROM DUAL;

10,一周的数据 

SELECT TO_char(SYSDATE,'yyyy-MM-dd'),TO_CHAR(SYSDATE, 'day') FROM DUAL UNION ALL
SELECT TO_char(SYSDATE+1,'yyyy-MM-dd'),TO_CHAR(SYSDATE+1, 'day') FROM DUAL UNION ALL
SELECT TO_char(SYSDATE+2,'yyyy-MM-dd'),TO_CHAR(SYSDATE+2, 'day') FROM DUAL UNION ALL
SELECT TO_char(SYSDATE+3,'yyyy-MM-dd'),TO_CHAR(SYSDATE+3, 'day') FROM DUAL UNION ALL
SELECT TO_char(SYSDATE+4,'yyyy-MM-dd'),TO_CHAR(SYSDATE+4, 'day') FROM DUAL UNION ALL
SELECT TO_char(SYSDATE+5,'yyyy-MM-dd'),TO_CHAR(SYSDATE+5, 'day') FROM DUAL UNION ALL
SELECT TO_char(SYSDATE+6,'yyyy-MM-dd'),TO_CHAR(SYSDATE+6, 'day') FROM DUAL;

11,to_char 操作时间格式

SELECT to_char(TO_DATE('2019/4/22 13:42:14', 'yyyy-MM-dd HH24:mi:ss'),'D') FROM dual;--  一周中的星期几     
SELECT to_char(TO_DATE('2019/4/22 13:42:14', 'yyyy-MM-dd HH24:mi:ss'),'DAY') FROM dual;-- 天的名字,使用空格填充到9个字符     
SELECT to_char(TO_DATE('2019/4/22 13:42:14', 'yyyy-MM-dd HH24:mi:ss'),'DD') FROM dual;-- 月中的第几天     
SELECT to_char(TO_DATE('2019/4/22 13:42:14', 'yyyy-MM-dd HH24:mi:ss'),'DDD') FROM dual;-- 年中的第几天     
SELECT to_char(TO_DATE('2019/4/22 13:42:14', 'yyyy-MM-dd HH24:mi:ss'),'DY') FROM dual;-- 天的简写名     
SELECT to_char(TO_DATE('2019/4/22 13:42:14', 'yyyy-MM-dd HH24:mi:ss'),'IW') FROM dual;-- ISO标准的年中的第几周     
SELECT to_char(TO_DATE('2019/4/22 13:42:14', 'yyyy-MM-dd HH24:mi:ss'),'IYYY') FROM dual;--  ISO标准的四位年份     
SELECT to_char(TO_DATE('2019/4/22 13:42:14', 'yyyy-MM-dd HH24:mi:ss'),'YYYY') FROM dual; -- 四位年份      
SELECT to_char(TO_DATE('2019/4/22 13:42:14', 'yyyy-MM-dd HH24:mi:ss'),'HH') FROM dual; --  小时,按12小时计     
SELECT to_char(TO_DATE('2019/4/22 13:42:14', 'yyyy-MM-dd HH24:mi:ss'),'HH24') FROM dual; --   小时,按24小时计     
SELECT to_char(TO_DATE('2019/4/22 13:42:14', 'yyyy-MM-dd HH24:mi:ss'),'Mon') FROM dual;  -- 月份的简写      
SELECT to_char(TO_DATE('2019/4/22 13:42:14', 'yyyy-MM-dd HH24:mi:ss'),'Month') FROM dual;-- 月份的全名     
SELECT to_char(TO_DATE('2019/4/22 13:42:14', 'yyyy-MM-dd HH24:mi:ss'),'W') FROM dual;-- 该月的第几个星期
SELECT to_char(TO_DATE('2019/4/22 13:42:14', 'yyyy-MM-dd HH24:mi:ss'),'WW') FROM dual; -- 年中的第几个星期

 当前系统时间的下一星期一的时间

  select   next_day(sysdate,1)   from   dual  

NEXT_DAY(date,char) 
date参数为日期型, 
char:为1~7或Monday/Mon~Sunday/ 
指定时间的下一个星期几(由char指定)所在的日期, 
char也可用1~7替代,1表示星期日,2代表星期一。。。。 
还可以是星期一、星期二。。。星期日 

12.查询当前用户下的所有表

select table_name from user_tables;

13.表的操作

SELECT * FROM USER_tab_COMMENTS; -- 查询当前用户下所有的表
SELECT * FROM User_Col_Comments;-- 用户所有的表的列信息

ALTER TABLE kecheng RENAME TO CHENGJI;--给表重命名

ALTER TABLE chengji ADD state1 VARCHAR2(10) ;-- 添加字段

ALTER TABLE chengji DROP COLUMN state1; -- 删除字段

ALTER TABLE chengji RENAME COLUMN state TO hh;-- 修改字段名称  

ALTER TABLE chengji MODIFY HH varchar2(10); -- 修改字段类型 alter table 表名 modify (字段名 字段类型 默认值 是否为空);

COMMENT ON COLUMN chengji.id IS '学生ID'; -- 列加注释
COMMENT ON TABLE chengji IS  '学生成绩表';-- 表加注释

14.数值型常用函数

--1 ceil 返回大于等同于n的最小整数
SELECT ceil(10.6) FROM dual;
--2 floor 小于等于n的最大
SELECT FLOOR(10.6) FROM dual;
--3 mod(m,n) m除于n的余数,若n等于0 返回m
SELECT MOD(5,0) FROM dual; 
--4 power(m,n) m的n次方
SELECT power(5,3) FROM dual;
--5 round(m,n) 将m四舍五入,保留小数点后n位
SELECT round(5.64473411,1) FROM dual;
--6 sign(n)若n=0返回0,若n>0 返回1 否则返回-1
SELECT SIGN(-5) FROM dual;
--7 sqrt(n) n的平方根
SELECT sqrt(5) FROM dual;

  

原文地址:https://www.cnblogs.com/wangjianly/p/10693967.html