Oracle之旅-复杂查询

这篇博客详细介绍了Oracle数据库的复杂查询,包括SQL命令分类、Oracle中的各种函数如字符、数字、日期处理函数,以及分析函数的使用。此外,还提供了一系列查询语句示例,如查询特定条件下员工的姓名、工资、部门号等,涉及到字符串操作、日期计算和条件判断等技巧。
摘要由CSDN通过智能技术生成

Oracle的复杂查询

1、SQL简介

在这里插入图片描述

2、SQL命令分类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、Oracle中的函数

3.1.单行函数

在这里插入图片描述

3.1.1.字符函数

在这里插入图片描述
大小写控制函数
在这里插入图片描述
字符控制函数
在这里插入图片描述
示例:
在这里插入图片描述
–伪表:Oracle中为了构成SQL语法的完整性,一张虚拟的表 dual
–大小写转化
– 字符型函数(小写变大写)

select upper('hello 嗯嗯') from dual;

– 字符型函数(大写变小写)

select lower('HELLO') from dual;

– 首字母大写

select initcap('HELLO xiao') from dual;

–拼接字符串 ||
– 字符拼接concat

select concat('A','bc') from dual;

– 字符拼接||

select 'AA'||'bb'||'Cc' from dual;
select ename||'的工资为:'||sal from emp;

–截取字符串

select substr('abcdefj',2,3) from dual;

–计算字符串的长度

select length('abcdefj') from dual;
select  *  from  emp  where  LENGTH(ename)=5;

–查询指定字符的位置

select instr('abcdefj','c') from dual;

–Trim
– trim(只能去除首尾字符)

select trim('a' from 'javascript') from dual

– trim去除首尾空格

select trim('    abc   ') from dual;

–LPAD

SELECT  LPAD('haha',10,'#')  FROM  dual;
3.1.2.数字处理函数
  • ROUND: 四舍五入
    例:ROUND(45.926, 2) ,结果 45.93
  • TRUNC: 截断
    例:TRUNC(45.926, 2) ,结果 45.92
  • MOD: 求 余
    例:MOD(1600, 300) ,结果 100
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    –数学函数
select  MOD(100,3)  结果  from  dual;
select  MOD(100,3)  as  结果  from  dual; select  MOD(100,3)  as  "结果"  from  dual; select  MOD(100,3)  "结	果"  from  dual;

注意:取别名,别名中有特殊字符例如空格,需要家双引号

3.1.3.日期函数

获取系统日期:sysdate
在这里插入图片描述

  • 在日期上加上或减去一个数字结果仍为日期。加减的是天数
  • 两个日期相减返回日期之间相差的天数
  • 可以用数字除 24 来向日期中加上或减去小时。
    在这里插入图片描述–获得当前系统日期+2天
select  sysdate+2  from  dual;

–计算所有的员工入职的周数

select  (SYSDATE-hiredate)/7  "周数",ename  from  emp;

–获得当前系统日期+10个小时

select  sysdate+(10/24)  from  dual;
3.1.4.转换函数

to_char
在这里插入图片描述
– 转化为字符串
– 时间转字符串

select  to_char(sysdate,'yyyy-fmmm-dd  hh24:mi:ss')  from  dual;

select   to_char(sysdate,'yyyy"年"mm"月"dd"日"   hh24"时"mi"分"ss"秒"') from  dual;

– 获取年份

select to_char(sysdate,'yyyy') from dual;

–获取月

select to_char(sysdate,'mm') from dual;

–获取星期

select to_char(sysdate,'day') from dual;

语法:TO_CHAR(number, ‘format_model’)
下面是在TO_CHAR 函数中经常使用的几种格式:
在这里插入图片描述
9 的地方如果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值