标签:sysdate ename 2022 -- 笔记 学习 dual mysql select
- 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 上午
标签:sysdate,ename,2022,--,笔记,学习,dual,mysql,select 来源: https://www.cnblogs.com/shaokai7878/p/16298567.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。