- 浏览: 964985 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
菜鸟学生会:
Spring与dubbo分布式REST服务开发实战网盘地址:h ...
Dubbo与Spring的配合使用 -
奔跑的码侬:
基于 Spring + Dubbo 开发分布式REST服务实战 ...
Dubbo与Spring的配合使用 -
卧槽这是我的昵称麽:
...
MyBatis的parameterType和resultMap -
xiongzhe90:
学习中,赞一个
idea14使用maven创建web工程 -
zqb666kkk:
nice 非常好!
jquery form向spring mvc提交表单
lower函数:
此函数将全部的大写字母都可以变为小写字母
SELECT lower('ABCDE') FROM dual ;
• dual表为一个虚拟表,以后介绍
此函数将全部的大写字母都可以变为小写字母
SELECT lower('ABCDE') FROM dual ;
• dual表为一个虚拟表,以后介绍
upper函数:将输入的字符串变为大写字母
SELECT upper('abcd') FROM dual ;
SELECT upper('abcd') FROM dual ;
例如:之前查询的时候区分大小写,所以此处如果输入的是小写字母,就可以通过upper函数进行转换。
查询雇员姓名内容为smith的全部员工。
SELECT * FROM emp WHERE ename=UPPER('smith') ;
查询雇员姓名内容为smith的全部员工。
SELECT * FROM emp WHERE ename=UPPER('smith') ;
initcap函数:将每个字符串的首字母大写
例如:要求将雇员表中的全部雇员信息的首字母大写。
SELECT initcap(lower(ename)) FROM emp ;
函数可以进行嵌套。
例如:要求将雇员表中的全部雇员信息的首字母大写。
SELECT initcap(lower(ename)) FROM emp ;
函数可以进行嵌套。
concat函数:字符串连接
,可以连接两个字符串
SELECT concat('hello',' world!!!') FROM dual ;
使用“||”也可以完成两个字符串的连接操作 。
SELECT concat('hello',' world!!!') FROM dual ;
使用“||”也可以完成两个字符串的连接操作 。
substr函数:字符串截取
截取的时候需要注意:要从那里开始截取,之后取多长的长度。
SELECT substr('hello',1,2) FROM dual ;
注意:substr函数的开始点是从1开始的。
截取的时候需要注意:要从那里开始截取,之后取多长的长度。
SELECT substr('hello',1,2) FROM dual ;
注意:substr函数的开始点是从1开始的。
length:取出字符串的长度,例如,取出每一个雇员的姓名的长度:
SELECT ename||' 姓名的长度为:'||length(ename) FROM emp ;
SELECT ename||' 姓名的长度为:'||length(ename) FROM emp ;
instr函数:查找在一个字符串中是否有指定的字符串,如果有,则返回其位置
SELECT instr('hello','x') FROM dual ;
• 如果有此字符串,则返回位置,如果没有,则返回0。
SELECT instr('hello','x') FROM dual ;
• 如果有此字符串,则返回位置,如果没有,则返回0。
replace函数:替换
,可以将一个字符串中的指定字符串替换为其他内容:
SELECT replace('hello','l','x') FROM dual ;
SELECT replace('hello','l','x') FROM dual ;
trim函数
:去掉左右空格的函数
SELECT trim(' hello ') FROM dual ;
SELECT trim(' hello ') FROM dual ;
查询:
1、 检索姓名最后一个字母为N的雇员
• SELECT * FROM emp WHERE substr(ename,-1,1)='N';
2、 检索职务为“SALE”的全部员工信息
• SELECT * FROM emp WHERE substr(job,1,4)='SALE';
1、 检索姓名最后一个字母为N的雇员
• SELECT * FROM emp WHERE substr(ename,-1,1)='N';
2、 检索职务为“SALE”的全部员工信息
• SELECT * FROM emp WHERE substr(job,1,4)='SALE';
ROUND表示四舍五入
•SELECT ROUND(34.56,-1) FROM dual ;
TRUNC函数:表示截取函数
• SELECT TRUNC(34.56,-2) FROM dual ;
MOD函数:取余数
•SELECT MOD(10,3) FROM dual ;
•SELECT ROUND(34.56,-1) FROM dual ;
TRUNC函数:表示截取函数
• SELECT TRUNC(34.56,-2) FROM dual ;
MOD函数:取余数
•SELECT MOD(10,3) FROM dual ;
取得当前日期:
在Oracle中可以通过查询sysdate取得当前的日期:
• SELECT sysdate FROM dual ;
在Oracle中可以通过查询sysdate取得当前的日期:
• SELECT sysdate FROM dual ;
例如:计算10部门中的员工进入公司的日期数:
肯定使用当前日期-雇佣日期(hiredate) = 天数,天数/7为日期数。
SELECT ename,round((sysdate-hiredate)/7) from emp ;
肯定使用当前日期-雇佣日期(hiredate) = 天数,天数/7为日期数。
SELECT ename,round((sysdate-hiredate)/7) from emp ;
例如:
求出所有员工的受雇月数:months_between,使用当前日期与雇佣日期比较。
• SELECT ename,round(MONTHS_BETWEEN(sysdate,hiredate)) from emp ;
求出所有员工的受雇月数:months_between,使用当前日期与雇佣日期比较。
• SELECT ename,round(MONTHS_BETWEEN(sysdate,hiredate)) from emp ;
ADD_MONTHS:表示在日期的基础上增加几个月之后的日期:
求出,三个月之后的日期是那一天:
SELECT ADD_MONTHS(sysdate,3) FROM dual ;
求出,三个月之后的日期是那一天:
SELECT ADD_MONTHS(sysdate,3) FROM dual ;
NEXT_DAY:表示下一个这天(星期几)
SELECT NEXT_DAY(sysdate,'星期一') FROM dual ;
SELECT NEXT_DAY(sysdate,'星期一') FROM dual ;
LAST_DAY:求出当前日期所在月的最后一天:
SELECT LAST_DAY(sysdate) FROM dual ;
SELECT LAST_DAY(sysdate) FROM dual ;
例如:
显示受雇时间不满320-个月的雇员的编号、受雇日期、受雇的月数、满六个月的复审日期、受雇后的第一个星期五以及受雇当月的最后一天
求出雇佣月数大于320的雇员信息:
SELECT * FROM emp WHERE MONTHS_BETWEEN(sysdate,hiredate)>320 ;
综合:
SELECT empno 雇员编号,hiredate 雇佣日期,
round(MONTHS_BETWEEN(sysdate,hiredate)) 雇佣月数 ,
add_months(hiredate,6) 复审日期,next_day(hiredate,'星期五') 受雇后到第一个星期五,
last_day(hiredate) 最后一天
FROM emp WHERE MONTHS_BETWEEN(sysdate,hiredate)>320 ;
显示受雇时间不满320-个月的雇员的编号、受雇日期、受雇的月数、满六个月的复审日期、受雇后的第一个星期五以及受雇当月的最后一天
求出雇佣月数大于320的雇员信息:
SELECT * FROM emp WHERE MONTHS_BETWEEN(sysdate,hiredate)>320 ;
综合:
SELECT empno 雇员编号,hiredate 雇佣日期,
round(MONTHS_BETWEEN(sysdate,hiredate)) 雇佣月数 ,
add_months(hiredate,6) 复审日期,next_day(hiredate,'星期五') 受雇后到第一个星期五,
last_day(hiredate) 最后一天
FROM emp WHERE MONTHS_BETWEEN(sysdate,hiredate)>320 ;
例如:现在要求取出全部员工受雇的年份
实际上要对hiredate中的内容进行分离,取出年份。
SELECT empno,ename,TO_CHAR(hiredate,'YYYY') FROM emp ;
取出雇佣的月份和日:
SELECT empno,ename,TO_CHAR(hiredate,'YYYY') 年,
TO_CHAR(hiredate,'MM') 月,TO_CHAR(hiredate,'DD') 月 FROM emp ;
实际上要对hiredate中的内容进行分离,取出年份。
SELECT empno,ename,TO_CHAR(hiredate,'YYYY') FROM emp ;
取出雇佣的月份和日:
SELECT empno,ename,TO_CHAR(hiredate,'YYYY') 年,
TO_CHAR(hiredate,'MM') 月,TO_CHAR(hiredate,'DD') 月 FROM emp ;
也可以通过此函数把显示的日期的格式进行修正:
年-月-日:2008-4-7
SELECT empno,ename,TO_CHAR(hiredate,'YYYY-MM-DD') FROM emp ;
年-月-日:2008-4-7
SELECT empno,ename,TO_CHAR(hiredate,'YYYY-MM-DD') FROM emp ;
正常情况下的日期,如果是月应该是两位,如果现在是2月,则会显示02月,如果现在不希望显示出前导0,则可以加入一个fm
SELECT empno,ename,TO_CHAR(hiredate,'fmYYYY-MM-DD') FROM emp ;
SELECT empno,ename,TO_CHAR(hiredate,'fmYYYY-MM-DD') FROM emp ;
可以将一个数值按照指定的格式输出。
SELECT empno,sal FROM emp ; 此时不是很明确的知道查询出的工资,而且工资的位数也不标准。
使用to_char完成:SELECT empno,to_char(sal,'L99,999') FROM emp ;
to_date函数
:
可以将一个字符串变为一个日期类型。
SELECT to_date('2007-4-7','YYYY-MM-DD') FROM dual ;
可以将一个字符串变为一个日期类型。
SELECT to_date('2007-4-7','YYYY-MM-DD') FROM dual ;
要求:
查询出全部雇员的年薪(基本工资和佣金)。
SELECT empno,(sal+comm)*12 FROM emp ;
如果没有奖金的雇员,则年薪也没了,因为是null值,所以最后的计算结果仍然是null。
希望如果最后的值为null,则应该按0进行计算,此时就需要NVL函数的支持。
查询出全部雇员的年薪(基本工资和佣金)。
SELECT empno,(sal+comm)*12 FROM emp ;
如果没有奖金的雇员,则年薪也没了,因为是null值,所以最后的计算结果仍然是null。
希望如果最后的值为null,则应该按0进行计算,此时就需要NVL函数的支持。
Nvl函数可以将空值变为一个特定的数值
SELECT empno,sal,NVL(comm,0) FROM emp ;
使用此函数修改上面的查询:
SELECT empno,(sal+NVL(comm,0))*12 FROM emp ;
SELECT empno,sal,NVL(comm,0) FROM emp ;
使用此函数修改上面的查询:
SELECT empno,(sal+NVL(comm,0))*12 FROM emp ;
select empno,ename,job from emp ;
decode()
希望:
• 如果工作是CLERK:则显示办事员
• 如果工作是SALESMAN:则显示为销售人员
• 如果工作是MANAGER,则显示为经理
SELECT empno,ename,decode
(job,'CLERK','办事员','SALESMAN','销售人员','MANAGER','经理') FROM emp ;
LPAD
(String a,int length,String addString
)
: 左边补参数,
把addString添加到a的左边,length 是返回值的长度。
select lpad(tc_email_models_seq.nextval,5,'0') from dual
左边不足5位时,补0 . 显示为00021
select lpad ('test',8,0) from dual;
result:0000test
获得本月第一天的时间:select trunc(add_months(sysdate,0), 'month') from dual
发表评论
-
MySql的事务隔离级别
2016-10-26 00:56 559前言 数据库都是有事务的,事务的不同级别,对应数据操作的 ... -
Mysql 分表策略
2015-04-22 00:41 645数据量大了需要考虑使用分表来减轻单表压力,提升查询性能。当 ... -
Mac设置Mysql开机启动
2015-04-20 17:28 1193Mac和linux略有不同,有的功能封闭起来了。 Mac ... -
ERROR 2002 (HY000): Can’t connect to local MySQL
2015-04-20 11:02 899安装mac版的mysql后,启动mysql 报错: ER ... -
Mac安装MySql
2015-03-13 12:55 9791. 首先下载mysql,官网 http://www.my ... -
MySql全国省市数据
2015-02-13 12:39 1115在项目中经常会用到全国的省市数据,特地找了一份备份于此。 ... -
MySql中的time_out错误
2014-07-18 20:54 714MySql版本:5.5 部署的一个Web服务,日志报错: ... -
MySql监控工具Mytop的安装过程
2014-07-10 19:10 1291mytop是一个类似Linux下的 top ... -
MySql 索引优化
2014-06-25 20:22 974索引的类型 1. 普通索引:最基本的索引,没有任何限制。 ... -
MySql 常用函数
2013-07-22 11:05 11871. replace(column,'old','new' ... -
MySql 数据类型的取值范围
2013-04-25 19:06 1774数据引自:http://dev.mysql.com/doc ... -
oracle行转列sql
2012-07-03 12:28 996建成绩表gradeinfo和学生表student,成绩表中存有 ... -
Oracle的escape函数
2012-07-01 15:32 1776Oracle的escape函数,顾名思义,是转义函数,用于将特 ... -
复杂的左连接查询
2012-05-23 21:13 1645一。查询A表的所有字段,还要查询和A表关联的B表的C字段的个数 ... -
Oracle创建表空间
2012-05-08 20:44 961bookmark create ta ... -
oracle触发器一例
2012-02-08 15:44 1168此处的触发器需求为跨库操作,当A库的user_co ... -
oracle的dblink
2012-02-07 14:30 1223数据库跨库操作数据时,可以使用dblink,建dblink时需 ... -
case when用法
2010-11-04 18:27 6479在sql中判断非A即B类似的表达式时,可以用“case-wh ... -
SQL UNION 和 UNION ALL 操作符
2010-11-04 16:29 1296SQL UNION 操作符 UNION 操作符用于 ... -
oracle中to_char和to_date的用法
2010-11-03 09:22 1612to_char()把其他类型转化成字符类型,to_date() ...
相关推荐
Oracle 常用函数大全 Oracle 中有许多常用函数,以下是其中一些: 字符函数 1. ASCII:返回与指定的字符对应的十进制数。例如:`SELECT ASCII('A') FROM DUAL;` 返回 65。 2. CHR:给出整数,返回对应的字符。...
Oracle常用函数大全 Oracle常用函数大全是一个非常重要的知识点,涵盖了许多实用的函数,例如日期函数、字符串函数、聚合函数等。这些函数可以帮助开发者更方便地进行数据库操作和数据分析。本文将详细介绍Oracle...
### Oracle常用函数集详解 #### 一、ASCII函数 **功能描述:** ASCII函数用于返回与指定字符相对应的十进制数值。 **语法格式:** ```sql ASCII('字符') ``` **示例:** ```sql SELECT ASCII('A') A, ASCII('a') ...
### Oracle常用函数详解 #### 一、概述 Oracle 数据库提供了丰富的内置函数,极大地提高了 SQL 语句在处理数据时的灵活性与效率。这些函数主要分为两大类:单行函数和多行函数(也称为聚合函数)。单行函数通常...
以下是从“Oracle常用函数.txt”文件中提炼出的关键知识点,旨在为初学者提供深入理解与实践的指导。 ### ASCII() 和 CHR() - **ASCII()** 函数用于返回一个字符的ASCII码值。例如,`ASCII('A')` 返回的是65,而 `...
ORACLE常用函数总结,与SQL SERVER对比,防止混淆,更容易记忆。
oracle常用函数oracle常用函数oracle常用函数oracle常用函数oracle常用函数oracle常用函数oracle常用函数
以下是对标题和描述中提到的Oracle常用函数的详细总结: 1. ASCII 函数:这个函数返回一个字符对应的ASCII码,即十进制数字。例如,`ASCII('A')`返回65,`ASCII(' ')`返回32(空格的ASCII码)。 2. CHR 函数:与...
sql,mysql,oracle常用的函数
hive和oracle常用函数对照,包含常用的函数分类 字符函数 数值函数 日期函数 聚合函数 转换函数 其他 增加的hive函数对比,只需要2个积分喔
Oracle数据库中的常用函数是数据库管理员和开发人员在处理数据时不可或缺的工具。这些函数极大地提高了数据处理的效率和灵活性。以下是一些常见的Oracle分析函数及其用法: 1. **开窗函数(Over)**: 开窗函数允许...
### Oracle常用函数与使用方法详解 #### 一、Oracle SQL函数概述 在Oracle数据库中,SQL函数被广泛用于处理各种数据类型,包括数值、字符、日期等,它们能够帮助我们更高效地进行数据检索和分析。本文将详细介绍...
"Oracle常用函数chm版"是一个集合了多种Oracle数据库常用函数的参考资源,主要包含以下几个方面: 1. **数值型函数**:这类函数主要用于处理整数、浮点数等数值类型的数据。例如,`ROUND`函数用于四舍五入,`TRUNC`...
3.CONCAT:连接两个字符串; SQL> select concat('010-','88888888')||'转23' 张三电话 from dual; 张三电话 ...SQL> select instr('oracle traning','ra',1,2) instring from dual; INSTRING ---------
本文将深入探讨"Oracle常用函数"以及"SQL*Plus基本命令"这两个关键领域,旨在帮助你提升在数据库操作中的效率。 一、Oracle常用函数 1. 长度函数`LENGTH` `LENGTH`函数用于计算字符串的字符数,不区分字符类型(如...
本篇文章主要探讨Oracle常用函数,特别是涉及字符串处理、日期处理以及数据处理的函数。 1. **字符串处理函数**: - `SUBSTR(string, start_position, length)`: 从指定的字符串`string`中提取子字符串,从`start_...
本文将基于"Oracle常用函数 CHM"这个资源,详细解析一些Oracle数据库中常见的函数及其应用,帮助你更好地理解和掌握Oracle SQL查询语言。 1. **字符串处理函数** - `UPPER()` 和 `LOWER()`:这两个函数用于将字符...
Oracle创建函数是通过PL/SQL自定义编写的,通过关键字function按照自己的需求把复杂的业务逻辑封装进PL/SQL函数中,函数提供一个返回值,返回给使用者。这样使用者就不需要去理解业务逻辑,把PL/SQL函数中的业务逻辑...