Oracle-数据表单行操作语句

1.字符函数
查询所有员工的姓名,并分别将所有字母小写,所有字母首字母大写(lower将字母大写变小写(降低) initcap(首字母大写))
select ename, lower(ename), initcap(ename) from emp;

查询所有员工的姓名,并将其中的'A'替换为'a'(replace 替换字符)
select ename, replace(ename, 'A', 'a') from emp;

查询所有员工姓名的长度(length计算长度)
select ename, length(ename) from emp;

查询所有员工的姓名,并显示员工姓名的前三个字符
(SUBSTR:用于进行字符串的截取,第一个参数表示待截取的字符串,第二个参数表示截取的起始位置,第三个参数表示截取的长度
第三个参数可以省略,表示截到末尾
第二个参数可以是负数,表示倒着截取)
select ename, substr(ename, 1, 3) from emp;

连接字符串(concat)
select concat('HELLO', ' WORLD') from dual;

2.数值函数
绝对值
select abs(-15) from dual;
向下取整
select floor(2.9) from dual;
向上取整
select seil(2.1) from dual;
四舍五入
select round(2.54) from dual;
select round(2.5564, -2) from dual;
截断
select trunc(9.99, -1) from dual; 

计数  COUNT(*)
平均数 AVG(*)
求和  SUM(*)
最大值 MAX(*)
最小值 MIN(*)

3.日期函数
MONTHS_BETWEEN函数返回两个日期之间的月份数
select ename, hiredate, MONTHS_BETWEEN(hiredate, sysdate) from emp;
select (sysdate-hiredate)/30 from emp;

ADD_MONTHS():在某个日期上添加几个月
select systate, ADD_MONTHS(systate, 10) from dual; 

NEXT_DAY():基于当前日期的下个星期几是几号
select systate, NEXT_DAY(systate, '星期二') from dual;

LAST_DAY():当前日期所在月份的最后一天的日期
select sysdate, LAST_DAY(sysdate, '1-2月-16') from dual;

转换函数: (数值<--->字符<--->日期)
to_number, to_date, to_char

通用函数:
NVL和NVL2:专门对空值进行处理
查询员工的姓名,职位,月薪,提成,总工资
select ename, jop, sal, nvl(comm, 0), nvl2(comm, sal+comm, sal) incom from emp;

decode:以此进行匹配,功能类似于java中的switch...case...
SELECT DISTINCT JOB, DECODE(JOB, 'CLERK', '职员', 'SALESMAN', '销售', 'PRESIDENT', '总裁', 'MANAGER', '经理', 'ANALYST', '分析师') JOB_ZH FROM EMP;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值