sql字符和日期函数

大小写转换函数UPPER:转换成大写 lower:转换成小写 initcap:第一个字母变为大写
select employee_id,first_name,UPPER(first_name),lower(first_name),initcap(first_name)
from employees;
在这里插入图片描述
单行函数可用于选择排序依据
select employee_id,first_name from employees
where UPPER(first_name)=‘PATRICK’;
在这里插入图片描述
concat函数(把两个列连接到一块)
select employee_id,last_name,first_name,concat(last_name,first_name)
from employees;
在这里插入图片描述
select employee_id,last_name,first_name,last_name||’ ‘||first_name||salary
from employees;
在这里插入图片描述
字符截取函数substr
substr(first_name,1,3):从第一个字符截取,截取三位
substr(first_name,2,4):从第二个字符截取,截取四位
substr(first_name,2):从第二个字符截取,截取到最后
substr(first_name,-3):倒着截取三位
select employee_id,first_name,
substr(first_name,1,3),substr(first_name,2,4),substr(first_name,2),substr(first_name,-3)
from employees;
在这里插入图片描述
length:获取字符串长度
在这里插入图片描述
Lpad:从左边对字符串使用指定的字符进行填充
rpad:从左边对字符串使用指定的字符进行填充
在这里插入图片描述
替换函数
把字母a替换成** 把字母带en替换成#
select employee_id,first_name,
replace(first_name,‘a’,’**’),replace(first_name,‘en’,’#’)
from employees;
在这里插入图片描述
数值函数(最不爱学的地方)
四舍五入:截取的小数要四舍五入
在这里插入图片描述
select round(10.49) from dual;
在这里插入图片描述
select round(10.499, 1) from dual;
在这里插入图片描述
select round(10.493, 2) from dual;
在这里插入图片描述
select round(10.493, -1) from dual;
在这里插入图片描述
select round(10.493, -2) from dual;
在这里插入图片描述
select round(10.493, -3) from dual;
在这里插入图片描述
Trunc:它只负责截取,不管你四舍五入
select trunc(10.6565 ) from dual;
在这里插入图片描述
select trunc(10.6565 ,2 ) from dual;(保留小数点2位)
在这里插入图片描述
如果为负数,则先保留整数部分,然后从个位开始向前数,并将遇到的数字都变为0。
select trunc(998.6565,-2) from dual;
在这里插入图片描述
select trunc(998.6565,-3) from dual; 后两位变成0
在这里插入图片描述
Mod:余数
select mod(15,2) from dual;
在这里插入图片描述
select mod(15,3) from dual;
在这里插入图片描述
select mod(100,2) from dual;
在这里插入图片描述
select mod(101,2) from dual;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
获取当前日期
select sysdate from dual;
在这里插入图片描述
select sysdate, sysdate +3 from dual; 三天后的时间
在这里插入图片描述
select sysdate, sysdate -3 from dual; 三天前的时间
在这里插入图片描述
当前日期-过去时间=过去了多少天
select employee_id,sysdate,hire_date,SYSDATE-hire_date,round(SYSDATE-hire_date)
from employees;
在这里插入图片描述
总工作时间以周计算:(SYSDATE-hire_date)/7
select employee_id,sysdate,hire_date,SYSDATE-hire_date,(SYSDATE-hire_date)/7
from employees;
在这里插入图片描述
MONTHS_BETWEEN:返回两个日期间隔的月数
select employee_id,first_name,MONTHS_BETWEEN(sysdate,hire_date),(sysdate-hire_date)/30
from employees;
在这里插入图片描述
4个月后的日期
select employee_id,first_name,hire_date,add_months(hire_date,4) from employees;
在这里插入图片描述
2个月的前的日期
select employee_id,first_name,hire_date,add_months(hire_date,-2) from employees;
在这里插入图片描述
NEXT_DAY:显示下周星期(1到7)期是几号
select sysdate,NEXT_DAY(sysdate,‘星期一’)from dual;
在这里插入图片描述
在这里插入图片描述
指定成数字
select sysdate,NEXT_DAY(sysdate,4)from dual;
在这里插入图片描述
在这里插入图片描述
last_day:月份的最后一天
select last_day(sysdate) from dual;
在这里插入图片描述
select employee_id,first_name,hire_date,sysdate,
MONTHS_BETWEEN(sysdate,hire_date),add_months(hire_date,6),next_day(hire_date,‘星期五’)
from employees;
在这里插入图片描述
ROUND:对日期进行四舍五入操作,按照年(YEAR)月(MONTH)日(DAY)
Trunk: 对日期进行截取操作,按照年(YEAR)月(MONTH)日(DAY)
round对月进行计算: 对月份,按照1-15,15-31日进行四舍五入
select employee_id,first_name,hire_date,
round(hire_date,‘month’),trunc(hire_date,‘month’)
from employees;
在这里插入图片描述
Round:对年份,按照1-6月,7-12月进行四舍五入
select employee_id,first_name,hire_date,
round(hire_date,‘year’),trunc(hire_date,‘year’)
from employees;
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值