mysql学习笔记(三)
2022/5/23 2:02:50
本文主要是介绍mysql学习笔记(三),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- sql中求并集,交集,全集和差集。
A集合: select * from emp where deptno = 30; B集合: select * from emp where sal > 1000; 并集:将两个集合数据全显示,去重。A Union B 全集:两个集合数据全显示,不做去重。A Union all B 交集:两个集合中交叉的数据。 A intersect B 差集:包含在A集合,不包含在B中。A minus B ,跟AB集合顺序有关,谁在前面包含在谁里面
- sql函数
sql函数一般是在数据上执行的,它给数据的转换和处理提供了方便,只是将取出的数据进行处理,不改变库中的值。输入(arg1,arg2,...)-->函数任务-->输出结果。 sql函数可分为组函数和单行函数: 1. 组函数又被称为聚合函数,用于多行数据进行操作,并返回一个单一的结果,组函数仅可用于选择列表或查询的having自居。(输入多个值,输出一个值)。 2.单行函数对单个数值进行操作,并返回一个值。(输入一个值,输出一个值。)
- 函数测试:
--查询所有员工的薪水总和。 select sum(sal) from emp; --查看表中又多少条记录,having条件大于3。 select count(*) from emp group by deptno having count(*)>3;
- 字符函数:concat字符串拼接,等同于||
select concat('my name is',ename) from emp; --将字符串首字母大写 initcap(ename) --字符串全部大写 upper(ename) --字符串全部小写lower(ename) --填充字符串: 左补齐lpad(ename,10,'*');//*****soctt,不够的话左面补齐。总长度为10。 右不起rpad(ename,10,'*');//scott*****,右面补齐。总长度为10。 --去除空格:trim(ename);左右两边都去除。ltrim()左,rtrim() 又。 --查找指定字符串的位置: select instr('ABABCD','A') from emp;//返回1,第一个出现的位置 --查看字符串长度:length(ename); --截取字符串:substr(ename,0,2);//从0截取,截取两位长度。 --替换字符串:replace('abcde','ab','hehe');//返回hehecde
- 数值函数:
--对小数进行四舍五入round,可指定小数部分的位数 select round (123.123,2)from dual;//123.12 select round (123.456,2) from dual;//123.46 --截断数据trunc,对小数位按照位数截取,不会四舍五入。 select trunc (123.128,2) from dual;//123.12 --取模操作:mod(10,4);// 2 mod(-10,4)// -2; --向上取整:ceil(12.12);//13 --向下取整:floor(12.13);//12 --获取正负值:sign(-100);//1,正数返回1,负数返回-1,0返回0 --x的y次幂:power(x,y);power(10,2);//100 --常量e的y次幂 :exp(y); --以x为底的对数:log(x,y); --以e为底的对数:ln(y);
- 时间函数:
select current_time() from dual;--mysql时间 select current_date() from dual;--mysql日期 select current_timestamp() from dual;--mysql日期时间 Oracle以内部数字格式存储日期:世纪,年,月,日,小时,分钟,秒 --当前时间: select sysdate 无括号from dual;2022/5/22 17:48:00 select current_date from dual;2022/5/22 17:48:00 --返回指定月数后的日期,添加指定月份 select add_months(hiredate,2),hiredate from emp; //add_months(hiredate,2)1981/2/17;hiredate为1981/4/17,加2月 --返回输入日期所在月份的最后一天 select last_dat(sysdate) from dual;2022/5/31 17:48:00 --返回两个日期间隔的月份 select months_between(sysdate,hiredate) from dual;计算是按照时间的毫秒值计算,返回月数时会带小数。466.3438474 --返回时区的对应时间。NEW_TIME() --返回四舍五入的第一天 select sysdate 当前日期2022/5/22 17:57:00, round(sysdate)最近0点的日期2022/5/23, round(sysdate,'day')最近星期日2022/5/22,round(sysdate,'month')最近月初2022/6/1, round(sysdate,'q')最近季初日期2022/4/1,round(sysdate,'year')最近年初2022/1/1 from dual; --返回下星期的星期几 select next_day(sysdate,'星期一') from dual; //传中文参数,2022/5/23 --提取日期中的时间 select extract (hour) from timestamp '2001-2-16 2:38:40';//提取小时,结果返回2 (minute)提取分钟38,(second)提取秒40,(day)日16,(month)月2,(year)年2001; --返回日期的时间戳 select localtimestamp from dual;1-1月-21 11.05.50 47800 上午 select current_timestamp from dual;1-1yue -21 11.07.20 56600 上午
这篇关于mysql学习笔记(三)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-15MySQL教程:初学者必备的MySQL数据库入门指南
- 2024-11-15MySQL教程:初学者必看的MySQL入门指南
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程