热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle日期函数/字符函数/数字函数/转换函数/聚合函数

Oracle日期函数/字符函数/数字函数/转换函数/聚合函数Oracle日期函数:[sql]MONTHS_BETWEEN:返回两个日期之间月份的差值MONTHS_BETWEEN('01-EP-95','11-JAN-94')>19.6774194..

Oracle日期函数/字符函数/数字函数/转换函数/聚合函数
 
Oracle日期函数:
[sql] 
MONTHS_BETWEEN:返回两个日期之间月份的差值  
  
    MONTHS_BETWEEN('01-EP-95','11-JAN-94')    
    ===>19.6774194    
    www.2cto.com  
ADD_MONTHS:在日期上加上份数.  
  
    ADD_MONTHS('11-JAN-94',6)    
    ===>'11-JUL-94'    
  
NEXT_DAY:指定日期的后一天.  
  
    NEXT_DAY('01-SEP-95','FRIDAY')    
    ===>'08-SEP-95'    
  
LAST_DAY:月份中最后一天.  
  
    LAST_DAY('01-SEP-95)    
    ===>'30-SEP-95'    
  
ROUND:四舍五入日期  
    www.2cto.com  
    ROUND('25-JUL-95','MONTH') ===>01-AUG-95    
    ROUND('25-JUL-95','YEAR') ===>01-JAN-96    
  
TRUNC:截断日期  
  
    TRUNC('25-JUL-95','MONTH') ===>01-JUL-95    
    TRUNC('25-JUL-95','YEAR') ===>01-JAN-95    
  
Oracle日期函数包括哪些:  
  
YYYY----代表完整的年份  
YEAR----年份  
MM------两位数月份  
MONTH---月份的完整名称  
DY------每星期中天的三个字符  
DAY-----天的完整名称  
 
Oracle字符函数:
[sql] 
1.LOWER(string) 将输入的字符串转换成小写  
    select lower('HELLO') from dual;  
    www.2cto.com  
2.UPPER(string) 将输入的字符串转换成大写  
    select upper('hello') from dual;  
3.INITCAP(string) 将输入的字符串单词的首字母转换成大写。PS:如果不是两个字母连在一起,则认为是新的单词,例:a_b a,b  a b  类似前面这些情况,都a和b都会转换成大写  
    select initcap('hello') from dual;  
  
4.连接符(||),将两个字符串用||连接起来,除此之外还可以使用Concat函数来连接字符串。例:select CONCAT(City,country) from Table  
    select concat('hello',' world') from dual;  
  
5.LPAD和RPAD,填充函数,这是两个十分相似的函数,使用方式完全一样。允许在列的左[右]边填充一组字符。例:RPAD(city,20,'.'),如果ciy的值没有小于长度20的话,则用'.'在右边补齐,补到20个,如果是用空格补齐,看上去就是像左对齐一样。  
      
6.LTRIM,RTRIM和TRIM,他们的作用是从字符串的左边,右边,左右两边删除不需要的字符,默认时删除空格。  
    select ltrim('HelloWorld','Hello') from dual;  
    select rtrim('HelloWorld','World') from dual;  
  
7.LENGTH 该函数很简单,就是告诉用户一个字符串有多长,即字符串中有多少个字符,该函数本身并不是很好用,但可以做为其它函数的一部分,用于计算表格需要多少空格,或者做为orderby 子句的一部分。PS:您不能对一个使用LONG数据类型的列使用LENGTH之类的函数。  
  
8.SUBSTR(string,start [,count]) 该函数告诉oracle提取出string一个子集,start开始位置,count提取长度,不指定count时,默认提取到该字符串的尾部。  
  start同时也可以指定为负数,指定为正数的时候是从字符串的起始位置开始算(左边),指定负数时,是从末尾位置算(右边)。PS:负数不能使用于Char数据类型,因为Char是固定长度的,   所以将使用空格填充他们的值,直到扩展到列的全长。  
  select substr('helloworld',3,5) from dual;  
    www.2cto.com  
9.INSTR 返回指定的字符串所在的位置  
  INSTR(string,set[,start [,occurrence ] ] ) 如果指定start,oracle则跳过前面所有字符串到该位置开始搜索,occurence,是强迫instr跳过前几次与字符串匹配,给出下一次匹配的位置,如果occurence指定3,那就是匹配第三次的位置了。 例 instr('ABACAAA','A',2,2) 从ABACAAA中匹配A这个字符串,从2个位置开始匹配,匹配第2次A所在的位置。PS:如果set中不止有一个字符而是有几个字符组成的,则INSTR给出该字符集中的第一个字符的位置。  
  select instr('world','l') from dual;  
  
10.translate(): 按字符翻译  
select translate('helloworld','o','a') from dual;  
  
11.replace(): 替换字符串  
select replace('helloworld','world','续写经典') from dual;  
  www.2cto.com  
Oracle数字函数:
[sql] 
1.1、ABS(n)函数  
  
描述:返回数值n的绝对值。  
  
Examples:select abs(-15) “test” from dual;  
1.2、ACOS(n)函数  
  
描述:返回数值n的反余弦值。输入数值范围在-1~1之间,返回值为弧度。  
  
Examples:select acos(0.6) “test”,acos(-.6) “test1” from dual;  
1.3、COS(n)函数  
  
     描述: 返回数值n的余弦值。返回值为弧度。  
  
Examples:select cos(1.6) “test”,cos(-6) “test1” from dual;  
1.4、SIN(n)函数  
  
     描述: 返回数值n的正弦值。  
  
Examples:select sin(1.6) “test”,sin(-6) “test1” from dual;  
1.5、ASIN(n)函数  
  
    描述: 返回数值n的反正弦值。输入数值范围在-1~1之间,返回值为弧度。  
  
Examples:select asin(0.6) “test”,asin(-0.6) “test1” from dual;  
1.6、TAN(n)函数  
  
    描述: 返回数值n的正切值。  
  
Examples:select tan(6) “test”,tan(-0.6) “test1” from dual;  
1.7、ATAN(n)函数  
    www.2cto.com  
    描述: 返回数值n的反正切值。输入数值任意,返回值为弧度。  
  
Examples:select atan(6) “test”,atan(-0.6) “test1” from dual;  
1.8、ATAN2(n,m)函数  
  
    描述: 返回数值n/m的反正切值。输入数值任意,返回值为弧度。  
  
Examples:select atan2(19,3) “test”,atan2(-9,-0.9) “test1” from dual;  
1.9、SINH(n)函数  
  
    描述: 返回数值n的双曲正弦值。输入数值任意。  
  
Examples:select sinh(6) “test”,sinh(-0.6) “test1” from dual;  
1.10、TANH(n)函数  
  
   描述: 返回数值n的双曲正切值。输入数值任意。  
  
Examples:select tanh(6) “test”,tanh(-0.6) “test1” from dual;  
1.11、CEIL(n)函数  
  
   描述: 返回大于等于数值n的最小整数。  
    www.2cto.com  
Examples:select ceil(6) “test”,ceil(6.6) “test1” from dual;  
1.12、COSH(n)函数  
  
   描述: 返回数值n的双曲余弦值。  
  
Examples:select cosh(6) “test”,cosh(6.6) “test1” from dual;  
1.13、EXP(n)函数  
  
   描述: 返回e的n次冥。(e=2.71828183…)  
  
Examples:select exp(6) “test” from dual;  
1.14、FLOOR(n)函数  
  
    描述: 返回小于等于数值n的最大整数。  
  
Examples:select floor(6) “test”,floor(9.3) “test1” from dual;  
1.15、LN(n)函数  
  
   描述: 返回数值n的自然对数。(n必须大于0)  
  
Examples:select ln(6) “test” from dual;  
1.16、LOG(m,n)函数  
  
   描述: 返回以m为底的数值n的对数。(m>1,n>0)  
  
Examples:select log(6,3) “test” from dual;  
1.17、MOD(m,n)函数  
    www.2cto.com  
   描述: 返回m/n后的余数,若n=0,则返回m(求模运算)  
  
Examples:select mod(6,3) “test” from dual;  
1.18、POWER(m,n)函数  
  
   描述: 返回m的n次冥  
  
Examples:select power(6,3) “test” from dual;  
1.19、ROUND(n,[m])函数  
  
   描述: 执行四舍五入运算,m可以省略,当省略m时,四舍五入到整数位;当m为正数时,四舍五入到小数点后m位;当m为负数时,四舍五入到小数点前m位。  
  
Examples:select round(6.698,2) “test” from dual;  
1.20、SIGN(n)函数  
  
  描述: 检测数值的正负,当n<0则返回-1;当n>0则返回1,当n=0返回0。  
  
Examples:select sign(6.698) “test”,sign(-9) “test1”,sign(0) “test2” from dual;  
1.21、SQRT(n)函数  
  
  描述: 返回数值n的平方根。(n>=0)  
  
Examples:select sqrt(6.698) “test” from dual;  
1.22、TRUNC(n,[m])函数  
  
  描述: 截取数值n,m可以省略,当省略m时则截取n的小数部分;当m为正数时则将n截取到小数点后m位;当m为负数时则将n截取到小数点前m位  
  
Examples:select trunc(6.698,2) “test”,trunk(696.3,-2) “test1” from dual;  
  www.2cto.com  
Oracle转换函数:
[sql] 
TO_CHAR 是把日期或数字转换为字符串  
TO_DATE 是把字符串转换为数据库中得日期类型转换函数  
TO_NUMBER 将字符转化为数字  
--extract(): 查询当前日期  
select extract(year from sysdate)||&#39;年&#39;||extract(month from sysdate)||&#39;月&#39;||extract(day from sysdate)||&#39;日&#39; as 转换后的日期 from dual  
  
--to_char(): 日期转换格式,默认“DD-MON-YY”  
select to_char(sysdate) from dual;  
select to_char(sysdate,&#39;YYYY"年"MM"月"DD"日 "HH":"MI":"SS&#39;) from dual; --12小时格式  
select to_char(sysdate,&#39;YYYY"年"MM"月"DD"日 "HH24":"MI":"SS&#39;) from dual; --24小时格式    www.2cto.com  
--decode(): 相当于多重if-else(以EMP表为例)  
select empno as 编号,ename as 姓名,decode(deptno,10,&#39;董事会&#39;,20,&#39;管理部门&#39;,30,&#39;开发部门&#39;,&#39;怪物&#39;) as 所属部门 from emp  
 
Oracle聚合函数:
[sql] 
Count   返回找到的记录数    
Min 返回一个数字列或计算列的最小值    
Max 返回一个数字列或计算列的最大值    
Sum 返回一个数字列或计算列总和    
avg 返回一个数字列或计算列的平均值    

推荐阅读
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 推荐一个ASP的内容管理框架(ASP Nuke)的优势和适用场景
    本文推荐了一个ASP的内容管理框架ASP Nuke,并介绍了其主要功能和特点。ASP Nuke支持文章新闻管理、投票、论坛等主要内容,并可以自定义模块。最新版本为0.8,虽然目前仍处于Alpha状态,但作者表示会继续更新完善。文章还分析了使用ASP的原因,包括ASP相对较小、易于部署和较简单等优势,适用于建立门户、网站的组织和小公司等场景。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • MyBatis错题分析解析及注意事项
    本文对MyBatis的错题进行了分析和解析,同时介绍了使用MyBatis时需要注意的一些事项,如resultMap的使用、SqlSession和SqlSessionFactory的获取方式、动态SQL中的else元素和when元素的使用、resource属性和url属性的配置方式、typeAliases的使用方法等。同时还指出了在属性名与查询字段名不一致时需要使用resultMap进行结果映射,而不能使用resultType。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
author-avatar
大米的感悟_673
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有