学习Oracle 单行函数:

包括字符函数,数值函数,日期函数,转换函数,通用函数。
dual是一个”伪表”,可以用来测试函数和表达式。
1, 字符函数
包括大小写控制函数,字符控制函数。
大小写控制函数:lower,upper,initcap。
字符控制函数:concat,substr,length,instr,lpad | rpad,trim,replace。
select lower( last_name || first_name) from employees;
select upper( last_name || first_name) from employees;
select initcap(job_id),job_id from employees;

select concat('Hello','World') from dual;
select substr('HelloWorld',1,5) from dual;
select length('HelloWorld') from dual;
select instr('HelloWorld','W') from dual;
select lpad('salary',10,'*') from dual;

select rpad('salary',10,'*') from dual;
select trim('H' from 'HelloWorld') from dual;
select replace('Hello','e','o') from dual;

2, 数字函数
分别有:round — 四舍五入,trunc — 截断,mod — 求余
select round(85.969,2),round(85.969,0),round(85.969,-1) from dual;
select trunc(85.969,2),trunc(85.969,0),trunc(85.969,-2) from dual;
select last_name,salary,mod(salary,5000) from employees;

3, 日期函数
函数sysdate 返回:日期,时间
日期的数学运算:

(1)在日期上加上或减去一个数字结果仍为日期
(2)两个日期相减返回日期之间相差的天数(日期不允许做加法运算,无意义)
(3)可以用数字除24来向日期中加上或减去天数。

计算员工入职日期距离系统当前时间相差多少个星期:
select last_name,(sysdate-hire_date)/7 as "周末" from employees;

日期函数:
months_between:两个日期相差的月数。
add_months:向指定日期中价上若干月数。
next_day:指定日期的下个星期*对应的日期。
last_day: 本月的最后一天。
round: 日期四舍五入。
trunc:日期截断。

select round( months_between(sysdate,'1-1月-19')) from dual;
select add_months(sysdate,3) from dual;
select next_day(sysdate,'星期五') from dual;
select last_day(sysdate) from dual;

4,转换函数
数据类型转换:隐性/显性
隐性数据类型转换:
Oracle 自动完成转换:
Varchar2 or char --> number
Varchar2 or char–> date
Number --> Varchar2
Date --> Varchar2

To_char 函数对日期的转换

(1)必须包含在单引号中而且大小写敏感。
(2)可以包含任意的有效的日期格式。
(3)日期之间用逗号隔开。

select last_name,to_char(hire_date,'dd month yyyy') from employees;

To_char 函数对字符的转换
select to_date('2019年1月29日 10:10:20','yyyy"年"mm"月"dd"日"hh:mi:ss') From dual

to_char函数对数字的转换
下面是在to_char 函数中经常使用的几种格式:

9  数字
0   零
$  美元符
L  本地货币符号
.  小数点
, 千位符

To_char函数对数字的转换

select last_name, to_char(salary,'$999,999,99') "工资" from employees;

5,通用函数
下面这些函数适用于任何数据类型,同时也适用于空值:
nvl(n1,n2)
nvl2(n1,n2,n3)
nullif(n1,n2)
coalesce(n1,n2……,nn)

nvl 函数:
将空值转换成一个已知的值:

    (1)可以使用的数据类型有日期、字符、数字。(2)函数的一般形式:–   nvl (commission_pct,0)– nvl (hire_date,'01-7月-97')–   nvl (job_id,'No Job Yet')(3)nvl2 (n1, n2,n3) :n1不为NULL,返回n2;为NULL,返回n3。

select last_name,salary,nvl(commission_pct,0),(salary*12)+ (salary*12*nvl(commission_pct,0)) "工资" from employees;
select last_name, salary, commission_pct, nvl2(commission_pct, 'AA', 'YY') from employees where department_id in (50, 80);

nullif (n1,n2) : 相等返回null,不等返回n1。

select first_name, length(first_name) "n1", last_name, length(last_name) "n2", nullif(length(first_name), length(last_name)) "结果" from employees;

coalesce函数
(1)coalesce与nvl相比的优点在于 coalesce可以同时处理交替的多个值。
(2)如果第一个表达式为空,则返回下一个表达式,对其他的参数进行coalesce。
select last_name, coalesce(commission_pct, salary, 10) YY from employees order by commission_pct;

条件表达式
(1)在 SQL 语句中使用if-then-else 逻辑
(2)使用两种方法:
– case表达式
– decode 函数

select last_name, job_id, salary, case job_id when 'IT_PROG' then 1.10*salary when 'AD_VP' then 1.15*salary when 'AD_PRES' then 1.20*salary else salary end "综合" from employees;

嵌套函数
(1)单行函数可以嵌套。
(2)嵌套函数的执行顺序是由内到外。
F3(F2(F1(col,arg1),arg2),arg3)

select last_name, nvl(to_char(manager_id), 'No') from employees;

本篇的单行函数到这里结束。通过这篇我们应该对单行函数有初始的了解,深入了解还需要勤加练习。

Oracle 单行函数相关推荐

  1. Oracle数据库:条件表达式case when then else end,decode函数,oracle单行函数练习示例

    Oracle数据库:条件表达式case when then else end,decode函数,oracle单行函数练习示例 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很 ...

  2. (二)Oracle单行函数(单值函数)+多表查询

    学习内容 单行函数(单值函数) 字符函数 数字函数 日期函数 类型转换函数 字符函数 函数 作用 LOWER 转换为小写 UPPER 转换为大写 INITCAP 首字母大写 CONCAT 连接值 SU ...

  3. oracle 单行函数学习、习题和答案

    单行函数 –单行函数特征 – 单行函数对单行操作 – 每行返回一个结果 – 有可能返回值与原参数数据类型不一致 – 单行函数可以写在SELECT.WHERE.ORDER BY子句中 – 有些函数没有参 ...

  4. Oracle单行函数

    SQL> --字符函数 SQL> --大小写转换函数 SQL> select upper('hello world'),lower('HELLO WORLD') from dual; ...

  5. Oracle从零开始04——SQL语句03——单行函数

    5.单行函数 function_name(column|expression,[arg1,arg2,-]) 参数说明:function_name:函数名称 column:数据库列名 expressio ...

  6. oracle java数据类型转换函数_Oracle基础——单行函数(类型转换函数)

    零点起飞学Oracle 正版现货 155.4元 (需用券) 去购买 > Oracle基础--单行函数(类型转换函数) 在执行运算的过程中,经常需要把一种数据类型转换成另一种数据类型. 数据转换分 ...

  7. Oracle数据库之单行函数

    oracle安装参照: Oracle数据库之安装教程 Oracel数据库总结: Oracle数据库之基本查询 Oracle数据库之单行函数 Oracle数据库之多行函数 Oracle数据库之多表查询 ...

  8. oracle 数字处理函数,Oracle函数-单行函数-数字、日期、日期处理函数

    函数的分类 单行函数:一个input对应一个output,input和output存在一一对应的关系 如lower 组函数:多个input,但是只对应一个output.如 sum() ======== ...

  9. oracle数字加 39,Oracle数据库之SQL单行函数—数字函数-Oracle

    Oracle数据库之SQL单行函数-数字函数 1.三角函数 SIN  ASIN  SINH COS  ACOS  COSH TAN  ATAN  TANH 对于上述三角函数,见名知意.做一个间断的练习 ...

最新文章

  1. Vivado中如何避免信号被优化掉?
  2. 图片剪切空指针崩溃问题在Android 6.0系统出现
  3. pc 图片预览放大 端vue_移动端Vue.js的图片预览组件,支持放缩、滑动功能!
  4. 什么是python扩展库_什么是目前比较常用的Python扩展库管理工具
  5. SQL-十步完全理解 SQL
  6. 【刷算法】对称的二叉树
  7. 计算机屏幕显示故障,计算机显示器常见故障的原因和解决方法
  8. php实现公众号支付demo,PHP微信公众号支付demo
  9. Python nii文件转成tiff文件 以及遍历文件夹
  10. 趣图:秃头程序员一问二十岁
  11. 未知地区的探索与猜想
  12. 用c语言编写超级马里奥_编写《超级马里奥兄弟》游戏以学习游戏开发
  13. 渗透测试-第一步 信息收集 【详细介绍】
  14. 常用复合逻辑运算,与非,或非,异或,同或
  15. XlsReadWriteII 版本声明操作要点
  16. Vue Props的用法
  17. 2018年全国多校算法寒假训练营练习比赛(第五场)解题报告
  18. 日历签到 java_android自定义可签到日历
  19. 图解算法:五大常用算法
  20. “.plt“文件转png格式图片简写

热门文章

  1. 人工智能是利用电子计算机模拟人类智力,第一章 计算机系统.ppt
  2. android 评价 星星大小,Android RatingBar 评价栏 星星 大小 样式 设置
  3. python json.dumps慢_python json.dumps中文乱码问题解决
  4. opendrive匝道
  5. linux内核I2C子系统学习(二)
  6. 2018高职计算机474分排名,2018年高职分类考试招生录取分数线出炉
  7. mysql声明declare_mysql8 参考手册--DECLARE ... CONDITION声明
  8. SAGA-GIS软件下载
  9. 【转】1.2异步编程:使用线程池管理线程
  10. 【转】微服务架构下分布式事务方案