Oracle 单行函数
学习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 单行函数相关推荐
- Oracle数据库:条件表达式case when then else end,decode函数,oracle单行函数练习示例
Oracle数据库:条件表达式case when then else end,decode函数,oracle单行函数练习示例 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很 ...
- (二)Oracle单行函数(单值函数)+多表查询
学习内容 单行函数(单值函数) 字符函数 数字函数 日期函数 类型转换函数 字符函数 函数 作用 LOWER 转换为小写 UPPER 转换为大写 INITCAP 首字母大写 CONCAT 连接值 SU ...
- oracle 单行函数学习、习题和答案
单行函数 –单行函数特征 – 单行函数对单行操作 – 每行返回一个结果 – 有可能返回值与原参数数据类型不一致 – 单行函数可以写在SELECT.WHERE.ORDER BY子句中 – 有些函数没有参 ...
- Oracle单行函数
SQL> --字符函数 SQL> --大小写转换函数 SQL> select upper('hello world'),lower('HELLO WORLD') from dual; ...
- Oracle从零开始04——SQL语句03——单行函数
5.单行函数 function_name(column|expression,[arg1,arg2,-]) 参数说明:function_name:函数名称 column:数据库列名 expressio ...
- oracle java数据类型转换函数_Oracle基础——单行函数(类型转换函数)
零点起飞学Oracle 正版现货 155.4元 (需用券) 去购买 > Oracle基础--单行函数(类型转换函数) 在执行运算的过程中,经常需要把一种数据类型转换成另一种数据类型. 数据转换分 ...
- Oracle数据库之单行函数
oracle安装参照: Oracle数据库之安装教程 Oracel数据库总结: Oracle数据库之基本查询 Oracle数据库之单行函数 Oracle数据库之多行函数 Oracle数据库之多表查询 ...
- oracle 数字处理函数,Oracle函数-单行函数-数字、日期、日期处理函数
函数的分类 单行函数:一个input对应一个output,input和output存在一一对应的关系 如lower 组函数:多个input,但是只对应一个output.如 sum() ======== ...
- oracle数字加 39,Oracle数据库之SQL单行函数—数字函数-Oracle
Oracle数据库之SQL单行函数-数字函数 1.三角函数 SIN ASIN SINH COS ACOS COSH TAN ATAN TANH 对于上述三角函数,见名知意.做一个间断的练习 ...
最新文章
- Vivado中如何避免信号被优化掉?
- 图片剪切空指针崩溃问题在Android 6.0系统出现
- pc 图片预览放大 端vue_移动端Vue.js的图片预览组件,支持放缩、滑动功能!
- 什么是python扩展库_什么是目前比较常用的Python扩展库管理工具
- SQL-十步完全理解 SQL
- 【刷算法】对称的二叉树
- 计算机屏幕显示故障,计算机显示器常见故障的原因和解决方法
- php实现公众号支付demo,PHP微信公众号支付demo
- Python nii文件转成tiff文件 以及遍历文件夹
- 趣图:秃头程序员一问二十岁
- 未知地区的探索与猜想
- 用c语言编写超级马里奥_编写《超级马里奥兄弟》游戏以学习游戏开发
- 渗透测试-第一步 信息收集 【详细介绍】
- 常用复合逻辑运算,与非,或非,异或,同或
- XlsReadWriteII 版本声明操作要点
- Vue Props的用法
- 2018年全国多校算法寒假训练营练习比赛(第五场)解题报告
- 日历签到 java_android自定义可签到日历
- 图解算法:五大常用算法
- “.plt“文件转png格式图片简写
热门文章
- 人工智能是利用电子计算机模拟人类智力,第一章 计算机系统.ppt
- android 评价 星星大小,Android RatingBar 评价栏 星星 大小 样式 设置
- python json.dumps慢_python json.dumps中文乱码问题解决
- opendrive匝道
- linux内核I2C子系统学习(二)
- 2018高职计算机474分排名,2018年高职分类考试招生录取分数线出炉
- mysql声明declare_mysql8 参考手册--DECLARE ... CONDITION声明
- SAGA-GIS软件下载
- 【转】1.2异步编程:使用线程池管理线程
- 【转】微服务架构下分布式事务方案