学习笔记day63-----oracle-单行函数、表连接

数据库小技能:Oracle基础之【常用函数】 增加m个月,m可以为负数,结果为减少m个月。,两个日期间的月数,结果为实数。 阅读详情
1、单行函数
    1.1、单行函数和组函数的概念
        单行函数:针对sql语句影响的数据,每一行都作处理,每一行产生一个结果
            select upper(first_name) from s_emp;
        组函数:针对sql语句影响的数据,分组进行处理,每组进行处理,每组产生一个结果
            select count(first_name) from s_emp;
    1.2、测试表:dual
        desc dual
        select count(*) from dual;
    1.3、字符串函数
        upper(s):返回s的全大写形式
        lower(s):返回s的全小写形式
        initcap(s):返回s的每个单词首字母大写,其余小些的形式
            select upper('hello') from dual;
        concat(x,y):字符串连接  ||
        substr(s,start[,length]):从字符串s的satrt开始,向右截取length个字符
            s:源字符串
            start:开始截取的位置,从1开始
                start > 0 表示从字符串的左边开始数
                start < 0 表示从字符串的右边开始数
                start = 0 按照1来处理。
            length:截取的字符串的长度
                缺省时表示截取到字符串的结尾
        length(s):获取s字符串的长度
            --截取s_emp表中first_name的后三位
                select substr(first_name,-3) from s_emp;
                select substr(first_name,length(first_name)-2) from s_emp;
    1.4、数字函数
        round(x[,y]):四舍五入
            y:
                缺省时,默认y=0;例如:round(3.56) = 4;
                y为正整数,四舍五入到小数点后y位;例如:round(3.567,2) = 3.57;
                y为副整数,四舍五入到小数点前|y|位;例如:round(356.7,-2) = 400;
        trunc(x[,y]):截取
            y:
                缺省时,默认y=0;例如:round(3.56) = 3;
                y为正整数,截取到小数点后y位;例如:round(3.567,2) = 3.56;
                y为副整数,截取到小数点前|y|位;例如:round(356.7,-2) = 300;
        ceil(x):向上取整
        floor(x):向下取整
    1.5、日期类型和常用的日期函数
        1.5.1、日期类型
            日期类型:date
            默认格式:dd-MON-yy
            date类型的各部分的表示方式:
            cc      世纪信息

            yy      2位数字的年     18
            yyyy    4位数字的年     2018
            year    英文年份的全拼  twenty eighteen

            mm          2位数字的月             07
            mon(Mon)    月份单词的前三个字母    jul(JUL)
            month(Mon)  月份单词的全拼          july(JULY)

            dd          2位数字的日             05
            dy          星期几单词的前三个字母  thu
            day         星期几单词的全拼        thursday

            hh          12小时制                11
            hh24        24小时制                23

            mi          2位数字的分钟           19

            ss          2位数字的秒             09

    当前系统时间:sysdate
        select  sysdate from dual;
        1.5.2、日期的算术运算
        --日期 + 数字
            select sysdate + 90 from dual;
        --日期 - 数字
            select sysdate - 128 from dual;
        --日期1 - 日期2
            select sysdate - to_date('01-JAN-00') from dual;
        注释:上述计算都是以 天 为单位,如果需要计算小时,分钟则需要 /24/60
            select to_char(sysdate - 1/24,'yyyy-mm-dd hh24:mi:ss') from dual;
        1.5.3、常用的函数
            add_months(date1,n):在日期date1加上n个月
            months_between(date1,date2):date1和date2相差的月数
            next_day(date1,dy):日期date1的下一个dy(星期几)
                select next_day(sysdate,'FRIDAY') from dual;
                //第二个参数,可以使用数字1-7,1表示星期天,7表示星期六
                select next_day(sysdate,6) from dual; 
            last_day(date1):日期date1所在月份的最后一天
                select last_day('05-FEB-18') from dual;
    1.6、类型转换函数
        1.6.1、to_char({date1|n},[,fmt])
                1)日期-->字符串
                    select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
                2)数字-->字符串
                    fmt以fm开头
                        格式的构成:
                            9           小数点前代表0-9,小数点后代表1-9
                            0           小数点前代表前导0,小数点后代表0-9
                            .           小数点
                            $           美元符号
                            L           本地货币符号
                            ,          分隔符

                        select to_char(1234.56,'fm099,999.00') from dual;
                        select to_char(salary,'fm$099,999.00') from s_emp;
                        select to_char(salary,'fm$099,999.99') from s_emp;
        1.6.2、to_date(s[,fmt])
                字符串--->日期
                insert into

        1.6.3、to_number(s[,fmt])
                字符串-->数字
                --隐式转换
                    select id,first_name,salary from s_emp where id='1';
                --显示转换
                    select to_number('$001,123.56','fm$099,999.00') from dual;

    1.7、函数的嵌套
        一个函数的返回值,作为另一个函数的参数
        --查询员工的id,first_name,manager_id,如果manager_id为NULL,显示成BOSS
        select id,first_name,nvl(to_char(manager_id),'BOSS') from s_emp;
2、表连接
    2.1、查询员工的编号、名字和所在部门的名称
        2.1.1、查询员工的编号、名字和所在部门的编号
            select id,first_name,dept_id from s_emp;
        2.1.2、查询的字段来自于多张表
            id,first_name:s_emp
            name:s_dept
            select s_emp.id,s_emp.first_name,s_dept.name 
            from s_emp,s_dept 
            where s_emp.dept_id=s_dept.id;
            语法:
                select 字段列表
                from 表名
                where 限制条件
    2.2、笛卡尔积
        如果数据来自于两张表,没有任何限制(关联条件)则返回两表的笛卡尔积。
        select s_emp.id,s_emp.first_name,s_dept.name from s_emp,s_dept;

    2.3、表的别名
        语法:表名 别名 
        select e.id,e.first_name,d.name 
        from s_emp e,s_dept d 
        where e.dept_id=d.id;
        --错误:表一旦命名别名,在当前语句中只能使用别名,不能使用原名
        select e.id,s_emp.first_name,d.name 
        from s_emp e,s_dept d 
        where e.dept_id=d.id;
        --在表连接中,如果字段名在关联的多张表中没有重名则可以省略字段名前的表名或别名(效率低)
        select e.id,first_name,name 
        from s_emp e,s_dept d 
        where dept_id=d.id;
    2.4、表连接
                等值连接 非等值连接 自连接
        内连接:
        外连接:
    2.5、内连接
        符合关联条件的数据被选中,不符合的被过滤掉的
        2.5.1、等值连接
            关联条件使用=号的
            --列出部门及其所在地区,显示部门编号、部门名称、和地区名称
                select d.id,d.name,r.name 
                from s_dept d,s_region r 
                where d.region_id=r.id; 
        2.5.2、非等值连接
            关联条件不使用=的
            --创建表
                create table salgrade(
                        grade number(3) primary key,
                        losal number(11,2)
                        hisal number(11,2)
                        );
            --插入测试数据
                insert into salgrade values(1,700,1200);
                ...
            --需求:列出员工及其
            select e.id,e.first_name,e.salary,s.grade from s_emp e,salgrade s where e.salary between s.losal and s.hisal;
        2.5.3、自连接
            逻辑上,把一张表当成两张表使用,采用表连接的语法执行的查询操作.
            --列出员工表中的所有领导信息
                列出员工表中的id,first_name,manager_id
                select id,first_name,manager_id from s_emp;
                列出员工表中,员工的信息,和员工领导的信息
                select distinct e.id,e.first_name from s_emp m,s_emp e where m.manager_id=e.id order by e.id;
        2.6、外连接
            外连接的结果集=内连接的结果集+匹配不上的数据行
            外链接的语法:(+) --oracle
                表1.字段(+) 运算符 表2.字段
                    内连接的结果集+表2中匹配不上的数据行
                表1.字段 运算符 表2.字段(+)
                    内连接的结果集+表1中匹配不上的数据行
            2.6.1、自连接
                --列出普通员工的信息
                select e.id,e.first_name from s_emp m,s_emp e where m.manager_id(+)=e.id and e.id is null;

set linesize 200
set pagesize 40
基于大模型的肾结石诊疗全流程风险预测与方案制定研究报告 目录一、引言1.1 研究背景与意义1.2 国内外研究现状1.3 研究目标与内容二、大模型技术原理与应用概述2.1 大模型的基本原理2.2 大模型在医疗领域的应用进展2.3 适用于肾结石预测的大模型选择与依据三、术前风险预测与准备3.1 患者身体状况评估3.2 结石情况分析3.3 术前准备方案制定四、术中风险预测与应对4.1 出血风险预测与处理4.2 脏器损伤风险预测与预防4.3 实时监测与决策支持五、术后恢复预测与护理5.1 恢复时间预测5.2 护理要点与措施5.3 并发症预防与处理六、并发症风险预测与管理 阅读详情

相关推荐

树莓派上基于ONNXRuntime与Qt的C++模型部署实战指南

本文详细介绍了在树莓派上使用ONNXRuntime与Qt进行C++模型部署的完整流程。从环境配置、依赖安装到交叉编译优化,再到Qt界面集成与ARM架构性能调优,提供了实战指南和常见问题解决方案,帮助开发者高效完成边缘设备上的AI应用部署。

ik6789012的博客 339

oracle学习笔记(三)oracle函数

1 --oracle 函数 2 --lower(char):将字符串转换为小写格式 3 --upper(char):将字符串转换为大写格式 4 --length(char):返回字符串的长度 5 --substr(char,m,n):取字符串的子串 6 --用户名小写 7 select lower(ename),sal from emp; 8 --用户名...

anchi1008的博客 140

ABAP代码检查(Code Review)

1、SLIN 扩展程序检查 也可通过(SE38工具栏->检查-扩展程序检查) 进入 2、ATC 检查 通过<SE38菜单栏-检查-ABAP测试主控室> 或事物代码SCI, 支持自定义检查变式 SCI可以配置检查变式满足特殊需求,配置对象集用于批量检查 3、通过ABAP测试主控室实现统一管理,定期检查作业和监控功能(事务代码ATC) 参考 SLIN...

u012232542的博客 6064

储能逆变器动态无功补偿:从原理到算法实现

本文深入解析了储能逆变器动态无功补偿的核心原理与算法实现。通过四象限运行与解耦控制技术,储能逆变器可在充放电的同时,快速、精准地调节无功功率,有效提升电网电能质量与功率因数。文章详细阐述了从相位调节、容量限制到PI控制算法的完整技术路径,并结合工程实践,探讨了其在光伏/储能系统中的协同控制策略与进阶应用价值。

weixin_29216353的博客 207

如何利用CANoe在两路CAN通道之间创建网关(gateway)

CANoe网关,利用CAPL实现CAN转发

Richy_Lai的博客 7896

oracle 日期常用函數 (ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC)

oracle 日期常用函數 (ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC)日期運算函數 2 3 ADD_MONTHS(d,n) 4 --時間點d再加上n個月 5 6 ex. 7 select sysdate, add_months(sysdate,2) aa fro

码上行动 1万+

Ubuntu 22.04蓝牙开关秒关?别慌,可能是这个Intel固件文件在搞鬼

本文深入解析Ubuntu 22.04蓝牙开关秒关问题,指出Intel固件文件缺失是常见原因,并提供详细修复方案。通过确认硬件型号、检查固件文件及智能替代方案,帮助用户快速解决蓝牙故障,提升系统稳定性。

weixin_30247307的博客 755

【Oracle数据库】DAY0

【031-1-27】基本组件预览 【031-1-31】连接和会话的区别 【031-1-33】Oracle数据库及其包含的文件 【031-1-34】物理结构和内存结构 【031-1-56】数据库写入程序 这里p56-p60都是重点,记得看一下。 【031-1-63】逻辑结构 包括后面的关于表空间,段,区和块的定义也都很重要。 【31-1-241】创建表空间 【31-1-499】创建新用户&数据库验证 ...

WORLD.EXE 820

Zabbix华为交换机光衰告警

zabbix使用自动发现监控huawei网络设备光衰

qq_31651649的博客 4529

蠕虫病毒代码(纯属参考,请勿用于非法事件)

1.介绍蠕虫病毒 蠕虫病毒是一种常见的计算机病毒,是无须计算机使用者干预即可运行的独立程序,它通过不停的获得网络中存在漏洞的计算机上的部分或全部控制权来进行传播。 计算机病毒是指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据和恶意篡改系统. 影响计算机使用并且能够自我复制的一组计算机指令或者程序代码 中文名:蠕虫病毒 传染方式:网络和电子邮件 外文名:Worm virus 类型:计算机病毒 2.代码(建议使用虚拟机,否则你的计算机将会就地报废,使用时要关闭电脑病毒保护,否则程序会...

Kenny20211105的博客 2万+

Oracle Day3 多行函数、多表查询

1.多行函数 Sumavgmaxmincount 组函数具有滤空的作用(添加nvl屏蔽该功能) 分组group by 多行分组 分组过滤 where和分组过滤的区别(having) 分组的增强(rollup)   breakondeptnoskip2;   break on null; 1 SQL> -- 计算一下每一...

weixin_30481087的博客 99

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

oracle sql单行函数 常用函数实例

无结果函数 1 --一、单列函数 2 --1.字符串函数 3 --将字符串大写,因为emp表里面有15条数据,所以 4 select upper('hello world') from emp; 5 select lower(ename) from emp where ename='SCOT...

weixin_30871293的博客 114

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

oracle日期函数

oracle 日期常用函數 (ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC) 日期運算函數 2 3 ADD_MONTHS(d,n) 4 --時間點d再加上n個月 5 6 ex. 7 select sysdate, add_months(sysdate,2) a...

iteye_7928的博客 142

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

ORACLE日期函数大全!

2. 2009-03-12 14:16:10日期函数 Oracle PL/SQL Oracle的日期函数相信很多人都有过统计某些数据的经历,比如,要统计财务的情况,可能要按每年,每季度,每月,甚至每个星期来分别统计。那在oracle中应该怎么来写sql语句呢,这个时候Oracle的日期函数会给我们很多帮助。 3. 4. 常用日期型函数 5. 1。Sysdate 当前日期和时间

雪狼小记 1234

Oracle单行查询

单行查询也叫作单行函数,使用某个函数对数据进行操作 关于基本查询:oracle基本查询 1 SQL> select lower('Hello WOrld') 转小写, 2 upper('Hello WOrld') 转大写, 3 initcap('hello world') 首字母大写 4 2 from dual; 5 ...

weixin_33749242的博客 122

oracle day-4

day-4 1.多表查询 from s1,s2,s3… where 连接条件 连接条件可以是:等值连接,不等连接,外连接,自连接,集合操作:union,union all,minus,intersect rownum 位列 从1开始 rowid 代表物理位置 2.组函数 avg(),sum(),max(),min(),count() 进行查询 默认分组 select avg(salary) from s_emp; 进行分组:group by 字段1,字段2… group by dept_id,id (部门

m0_47073109的博客 570

oracle 本年1月1号 yy,oracle 日期函数

一、 常用日期数据格式1. Y或YY或YYY 年的最后一位,两位或三位。(2013-01-10)Select to_char(sysdate,'Y') from dual; -- 3Select to_char(sysdate,'YY') from dual; -- 13Select to_char(sysdate,'YYY') from dual; --0132. Q 季度 1~3月为第一...

weixin_39582656的博客 655

oracle dump什么函数,Oracle dump函数的用法

一、函数标准格式:DUMP(expr[,return_fmt[,start_position][,length]])基本参数时4个,最少可以填的参数是0个。当完全没有参数时,直接返回null。另外3个参数也都有各自的默认值:expr:这个参数是要进行分析的表达式(数字或字符串等,可以是各个类型的值)return_fmt:指返回参数的格式,有5种用法:1)8:以8进制返回结果的值2)10:以10进制...

weixin_32515349的博客 218

oracle如何dump,【Oracle】Oracle中dump函数的用法

一、函数标准格式:DUMP(expr[,return_fmt[,start_position][,length]])基本参数时4个,最少可以填的参数是0个。当完全没有参数时,直接返回null。另外3个参数也都有各自的默认值:expr:这个参数是要进行分析的表达式(数字或字符串等,可以是各个类型的值)return_fmt:指返回参数的格式,有5种用法:1)8:以8进制返回结果的值2)10:以10进制...

weixin_42501130的博客 1634

oracle 日期处理

oracle当月、当年、本周数据 当月数据 Sql代码 select  *  from   table  t     where  t.create_time &gt;=TRUNC(SYSDATE,  'MM' )     and  t.create_time&lt;=l...

nhy520 347

Java 9---Oracle数据库函数使用

导读 1.单行函数 函数:oracle内置了很多函数 单行函数:作用于一行,可以得到一个结果 多行函数(组函数):作用于多行(一组),可以得到一个结果 单行函数 单行函数: 字符函数 数值函数 日期函数 转换函数 字符函数: LOWER:转换成小写 UPPER:转换成大写 INITCAP:每个单词首字母变大写,其余小写, 单词通过空格隔开 CONCAT:拼接 SUBSTR(st...

hala22的博客 290

oracle 函数、聚焦函数

oracle 常用的函数 以及 聚焦函数 1 2 3 --1,字符函数 4 5 --当没有表可以用个的时候oracle自带一个虚表dual 6 7 -- || 表示连接符号 将字符串连接到一起 8 9 式显示 10 11 Lower(char):将字符串转化为小写格式 12 13 ?将所有员工的名字按小写的...

weixin_30472035的博客 203

oracle dump什么函数,Oracledump函数的用法

一、函数标准格式:DUMP(expr[,return_fmt[,start_position][,length]])基本参数时4个,最少可以填的参数是0个。当完全没有参数时,直接返回null。另外3个参数也都有各自的 默认值:expr:这个参数是要进行分析的表达式(数字或字符串等,可以是各个类型的值)return_fmt:指返回参数的格式,有5种用法:1)8:以8进制返回结果的值2)10:以1...

weixin_36476826的博客 209

oracle的dump可以删除吗,Oracle dump函数的用法

Oracle dump函数的用法一、函数标准格式:DUMP(expr[,return_fmt[,start_position][,length]])基本参数时4个,最少可以填的参数是0个。当完全没有参数时,直接返回null。另外3个参数也都有各自的默认值:expr:这个参数是要进行分析的表达式(数字或字符串等,可以是各个类型的值)return_fmt:指返回参数的格式,有5种用法:1)8:以8进制...

weixin_36023930的博客 673
上一篇: linux-----页、页表、页框(块)
下一篇: 将指定的时间转换为字符串输出-----strftime()
displayMessage
博客等级 码龄11年 34粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值