Oracle入门基础(三)一一单行函数
SQL> --字符函数
SQL> select lower('Hello World') 转小写,upper('Hello World') 转大写,initcap('hello world') 首字母大写 from dual;
转小写 转大写 首字母大写
hello world HELLO WORLD Hello World
SQL> --substr(a,b) 从a中,第b位开始取
SQL> select substr('Hello World',4) 子串 from dual;
子串
lo World
SQL> --substr(a,b,c) 从a中,第b位开始取,取c位
SQL> select substr('Hello World',4,3) 子串 from dual;
子串
lo
SQL> --length 字符数 lengthb 字节数
SQL> select length('北京') 字符,lengthb('北京') 字节 from dual
字符 字节
2 4
SQL> --instr(a,b)
SQL> --在a中,查找b
SQL> select instr('Hello World','ll') 位置 from dual;
位置
3
SQL> --lpad 左填充 rpad 右填充
SQL> -- abcd ---> 10位
SQL> select lpad('abcd',10,'*') 左,rpad('abcd',10,'*') 右 from dual;
左 右
******abcd abcd******
SQL> --trim 去掉前后指定的字符
SQL> select trim('H' from 'Hello WorldH') from dual;
TRIM('H'FR
ello World
SQL> --replace
SQL> select replace('Hello World','l','*') from dual;
REPLACE('HE
He**o Wor*d
SQL> --四舍五入
SQL> select round(45.926,2) 一,round(45.926,1) 二,round(45.926,0) 三,round(45.926,-1) 四,round(45.926,-2) 五 from dual;
一 二 三 四 五
45.93 45.9 46 50 0
SQL> --截断
SQL> select trunc(45.926,2) 一,trunc(45.926,1) 二,trunc(45.926,0) 三,trunc(45.926,-1) 四,trunc(45.926,-2) 五 2* from dual
一 二 三 四 五
45.92 45.9 45 40 0
SQL> --当前时间
SQL> select sysdate from dual;
SYSDATE
29-9月 -16
SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
TO_CHAR(SYSDATE,'YY
2016-09-29 11:58:32
SQL> --昨天 今天 明天
SQL> select (sysdate-1) 昨天,sysdate 今天,(sysdate+1) 明天 from dual;
昨天 今天 明天
28-9月 -16 29-9月 -16 30-9月 -16
SQL> --计算员工的工龄:天 星期 月 年
SQL> select ename,hiredate,(sysdate-hiredate) 天,(sysdate-hiredate)/7 星期,
2 (sysdate-hiredate)/30 月,(sysdate-hiredate)/365 年 from emp;
ENAME HIREDATE 天 星期 月 年
SMITH 17-12月-80 13070.5013 1867.21448 435.683378 35.8095927
SQL> select sysdate+hiredate from emp;
ORA-00975: 不允许日期 + 日期
SQL> --months_between
SQL> select ename,hiredate,(sysdate-hiredate)/30 一,months_between(sysdate,hiredate) 二 from emp;
ENAME HIREDATE 一 二
SMITH 17-12月-80 435.683431 429.40332
SQL> --53个月后
SQL> select add_months(sysdate,53) from dual;
28-2月 -21
SQL> --last_day
SQL> select last_day(sysdate) from dual;
LAST_DAY(SYSDA
30-9月 -16
SQL> --next_day
SQL> --下一个星期四
SQL> select next_day(sysdate,'星期四') from dual;
NEXT_DAY(SYSDA
06-10月-16
SQL> --下一个星期五
SQL> select next_day(sysdate,'星期五') from dual;
NEXT_DAY(SYSDA
30-9月 -16
SQL> select next_day(sysdate,'礼拜五') from dual;
ORA-01846: 周中的日无效
SQL> next_day函数的应用:每个星期一自动备份表中的数据
SQL> 1、分布式数据库
SQL> 2、触发器 快照
SQL> select round(sysdate,'month'),round(sysdate,'year') from dual;
ROUND(SYSDATE, ROUND(SYSDATE,
01-10月-16 01-1月 -17
SQL> --2016-09-29 12:18:12今天是星期四
SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss今天是day') from dual;
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss今天是day') from dual
ORA-01821: 日期格式无法识别
SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss"今天是"day') from dual;
TO_CHAR(SYSDATE,'YYYY-MM-DDHH24:MI
2016-09-29 12:20:13今天是星期四
SQL> --查询员工的薪水:两位小数、千位符、本地货币代码
SQL> select to_char(sal,'L9,999.99') from emp;
TO_CHAR(SAL,'L9,999
¥800.00
SQL> --nvl2(a,b,c) 当a=null的时候,返回c;否则返回b
SQL> selec sal*12+nvl2(comm,comm,0) from emp;
SP2-0734: 未知的命令开头 "selec sal*..." - 忽略了剩余的行。
SQL> select sal*12+nvl2(comm,comm,0) from emp;
SAL*12+NVL2(COMM,COMM,0)
15600
SQL> --nullif(a,b) 当a=b的时候,返回null;否则返回a
SQL> select nullif('abc','abcd') 值 from dual;
值
abc
SQL> --coalesce 从左到右 找到第一个不为null的值
SQL> select comm,sal,coalesce(comm,sal) "第一个不为null的值"
2 from emp;
COMM SAL 第一个不为null的值
800 800
300 1600 300
SQL> --给员工涨工资,总裁1000 经理800 其他400
SQL> select ename,job,sal 涨前,
2 case job when 'PRESIDENT' then sal+1000
3 when 'MANAGER' then sal+800
4 else sal+400
5 end 涨后
6 from emp;
ENAME JOB 涨前 涨后
---------- --------- ---------- ----------
SMITH CLERK 800 1200
ALLEN SALESMAN 1600 2000
SQL> select ename,job,sal 涨前,
2 decode(job,'PRESIDENT',sal+1000,
3 'MANAGER',sal+800,
4 sal+400) 涨后
5 from emp;
ENAME JOB 涨前 涨后
---------- --------- ---------- ----------
SMITH CLERK 800 1200
ALLEN SALESMAN 1600 2000
WARD SALESMAN 1250 1650
Oracle入门基础(三)一一单行函数的更多相关文章
- Oracle笔记(三)单行函数
-函数 函数像一个黑盒子一样(看不到里边的构造),有参数返回值,可以为我们完成一定的功能. -单行 这种函数会对结果中的每一行计算一次,每行返回一个结果,单行概念区别于分组函数. 单行函数主要分为以下 ...
- day 53-1 Django基础三之视图函数
Django基础三之视图函数 本节目录 一 Django的视图函数view 二 CBV和FBV 三 使用Mixin 四 给视图加装饰器 五 Request对象 六 Response对象 一 Dja ...
- day 67 Django基础三之视图函数
Django基础三之视图函数 本节目录 一 Django的视图函数view 二 CBV和FBV 三 使用Mixin 四 给视图加装饰器 五 Request对象 六 Response对象 一 Dja ...
- PHP基础入门(三)---PHP函数基础
PHP基础入门(三)---函数 今天来给大家分享一下PHP的函数基础.有了前两章的了解,想必大家对PHP有了一定的基础了解.想回顾前两章的朋友可以点击"PHP基础入门(一)"&qu ...
- 学习python第三天单行函数
1.去重:distinct关键字 需求:查看公司一共有多少部门? select department_id from employees;此代码会查出107条记录,存在部门重复的问题! select ...
- Oracle笔记(五) 单行函数
虽然各个数据库都是支持SQL语句的,但是每一个数据库也有每一个数据库自己所支持的操作函数,这些就是单行函数,而如果要想进行数据库开发的话,除了要会使用SQL之外 ,就是要多学习函数. 单行函数主要分为 ...
- Oracle入门基础(七)一一集合运算
SQL> /* SQL> 查询10和20号部门的员工 SQL> 1. select * from emp where deptno=10 or deptno=20; SQL> ...
- Oracle入门基础(四)一一多行函数
SQL> --工资总额 SQL> select sum(sal) from emp; SUM(SAL) 29025 SQL> --人数 SQL> select count(*) ...
- Oracle入门基础(十三)一一java调用oracle存储过程
package demo; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.ResultS ...
随机推荐
- 理解OAuth2.0协议和授权机制
无论是自然资源还是互联网上的资源,需要控制使用权与被使用权,以保护资源的安全.合理的使用和有效的管控. 项目中,我们需要控制的是用户资源,既要保证有效用户的合理使用,又要防范非法用户的攻击.如此,如何 ...
- CSRF POST型
实验目的 掌握POST型CSRF基础知识 实验原理 管理员点击恶意链接,密码被修改 实验内容 POST型CSRF漏洞 实验环境描述 带有CSRF漏洞的注册登录系统 实验步骤 登录密码 用户名为 roo ...
- IMIX功能测试——网络测试仪实操
在真实的网络环境中,用户产生的网络数据报文的长度并不是固定的,也就要求我们在评估DUT转发能力时,不能仅仅测试固定长度的报文,而是需要测试多种不同报文长度的组合. 信而泰RENIX测试仪中的iMIX报 ...
- 2021年BI软件系统推荐,知名商业智能厂商品牌
国内外一直有一些厉害的商业智能厂商,在国外,例如国外微软的PowerBI.在国外是商业智能的行业领导者,在国外的市场占有率上远远领先其它产品,然而在中国市场却落后于国内商业智能厂商思迈特软件的Smar ...
- 可视化里程碑:可拖拽使用的可视化BI工具
在数据量越来越大的今天,如何利用好数据,更好的为人类社会服务,成为人们所关心的话题,而其中数据可视化作为最后一个环节,也是人们最为直观的感受,自然而然备受重视.同质化的应用越来越多,应用开发者也开始在 ...
- 【C#表达式树 四】Expression类上的函数列表
Expression相当于工厂,这个工厂有各式各样的模型(函数),用来生成各种零部件(节点类型),最后组装成表达式树. Expressions这个命名空间有各种个容器用陈放生产出来的零部件. Expr ...
- Oracle之数据库的连接
Oracle 默认用户 数据库创建完毕后,需要设置数据库的默认用户.Oracle中为管理员预置了两个用户分别是SYS和SYSTEM.SYS的初始密码为Oracle安装时设置的数据库口令 admin,在 ...
- MySQL Community Server安装
MySQL Community Server安装 下载地址:https://dev.mysql.com/downloads/mysql/,zip安装,解压缩之后其实就可以用了,但是要进行配置. 1,解 ...
- 一张图看懂IaaS, PaaS和SaaS的区别
转至:https://blog.csdn.net/liujg79/article/details/84453736 编译:老夫子 原文:https://www.bmc.com/blogs/saas-v ...
- Qt:QDir
0.说明 QDir提供了访问目录及目录下内容的类. QDir既可以用于访问文件系统,也可以用于访问Qt 资源系统(Qt's resource system.). Qt用 "/" 作 ...