`
picluo
  • 浏览: 335202 次
  • 性别: Icon_minigender_1
  • 来自: 大力亚
社区版块
存档分类
最新评论

oracle函数集中介绍

阅读更多

SQL中的单记录函数

1.ASCII

返回与指定的字符对应的十进制数;

SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;

        A         A      ZERO     SPACE

--------- --------- --------- ---------

       65        97        48        32

 

2.CHR

给出整数,返回对应的字符;

SQL> select chr(54740) zhao,chr(65) chr65 from dual;

 

ZH C

-- -

赵 A

3.CONCAT

连接两个字符串;

SQL> select concat('010-','88888888')||'转23'  高乾竞电话 from dual;

高乾竞电话

----------------

010-88888888转23

 

4.INITCAP

返回字符串并将字符串的第一个字母变为大写;

SQL> select initcap('smith') upp from dual;

UPP

-----

Smith

 

5.INSTR(C1,C2,I,J)

在一个字符串中搜索指定的字符,返回发现指定的字符的位置;

C1    被搜索的字符串

C2    希望搜索的字符串

I     搜索的开始位置,默认为1

J     出现的位置,默认为1

SQL> select instr('oracle traning','ra',1,2) instring from dual;

--从o开始搜索第二次出现‘ra’的位置

 

 INSTRING

---------

        9

 

6.LENGTH

返回字符串的长度;

SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from gao.nchar_tst;

 

NAME   LENGTH(NAME) ADDR             LENGTH(ADDR)       SAL LENGTH(TO_CHAR(SAL))

------ ------------ ---------------- ------------ --------- --------------------

高乾竞            3 北京市海锭区                6   9999.99                    7

 

7.LOWER

返回字符串,并将所有的字符小写

SQL> select lower('AaBbCcDd')AaBbCcDd from dual;

AABBCCDD

--------

aabbccdd

8.UPPER

返回字符串,并将所有的字符大写

SQL> select upper('AaBbCcDd') upper from dual;

UPPER

--------

AABBCCDD

 

9.RPAD和LPAD(粘贴字符)
RPAD  在列的右边粘贴字符
LPAD  在列的左边粘贴字符
SQL> select lpad(rpad('gao',10,'*'),17,'*')from dual;

 

 

LPAD(RPAD('GAO',1
-----------------
*******gao*******
不够字符则用*来填满

 


10.LTRIM和RTRIM
LTRIM  删除左边出现的字符串
RTRIM  删除右边出现的字符串
SQL> select ltrim(rtrim('   gao qian jing   ',' '),' ') from dual;

 

LTRIM(RTRIM('
-------------
gao qian jing


11.SUBSTR(string,start,count)
取子字符串,从start开始,取count个
SQL> select substr('13088888888',3,8) from dual;

SUBSTR('
--------
08888888

 

 


12.REPLACE('string','s1','s2')
string   希望被替换的字符或变量
s1       被替换的字符串
s2       要替换的字符串
SQL> select replace('he love you','he','i') from dual;

REPLACE('H
----------
i love you


13.SOUNDEX
返回一个与给定的字符串读音相同的字符串
SQL> create table table1(xm varchar(8));
SQL> insert into table1 values('weather');
SQL> insert into table1 values('wether');
SQL> insert into table1 values('gao');

 

 

SQL> select xm from table1 where soundex(xm)=soundex('weather');

XM
--------
weather
wether

 


14.TRIM('s' from 'string')
LEADING   剪掉前面的字符
TRAILING  剪掉后面的字符
如果不指定,默认为空格符

SQL> select trim('s'from'strsings') from dual;

TRIM('S'FROM'STRSINGS')
-----------------------
trsing

 

 

 

15.ABS
返回指定值的绝对值
SQL> select abs(100),abs(-100) from dual;

 

 

 ABS(100) ABS(-100)
--------- ---------
      100       100


16.ACOS
给出反余弦的值
SQL> select acos(-1) from dual;

 

 ACOS(-1)
---------
3.1415927

 

17.ASIN
给出反正弦的值
SQL> select asin(0.5) from dual;

ASIN(0.5)
---------
.52359878

 

 


18.ATAN
返回一个数字的反正切值
SQL> select atan(1) from dual;

 

 

  ATAN(1)
---------
.78539816


19.CEIL
返回大于或等于给出数字的最小整数
SQL> select ceil(3.1415927) from dual;

CEIL(3.1415927)
---------------
              4

 


20.COS
返回一个给定数字的余弦
SQL> select cos(-3.1415927) from dual;

COS(-3.1415927)
---------------
             -1

 


21.COSH
返回一个数字反余弦值
SQL> select cosh(20) from dual;

 COSH(20)
---------
242582598

 


22.EXP
返回一个数字e的n次方根
SQL> select exp(2),exp(1) from dual;

   EXP(2)    EXP(1)
--------- ---------
7.3890561 2.7182818

 

 


23.FLOOR
对给定的数字取整数
SQL> select floor(2345.67) from dual;

FLOOR(2345.67)
--------------
          2345


24.LN
返回一个数字的对数值
SQL> select ln(1),ln(2),ln(2.7182818) from dual;

    LN(1)     LN(2) LN(2.7182818)
--------- --------- -------------
        0 .69314718     .99999999

 

25.LOG(n1,n2)
返回一个以n1为底n2的对数
SQL> select log(2,1),log(2,4) from dual;

 LOG(2,1)  LOG(2,4)
--------- ---------
        0         2


26.MOD(n1,n2)
返回一个n1除以n2的余数
SQL> select mod(10,3),mod(3,3),mod(2,3) from dual;

MOD(10,3)  MOD(3,3)  MOD(2,3)
--------- --------- ---------
        1         0         2


27.POWER
返回n1的n2次方根
SQL> select power(2,10),power(3,3) from dual;

 

 

POWER(2,10) POWER(3,3)
----------- ----------
       1024         27

 

 


28.ROUND和TRUNC
按照指定的精度进行舍入
SQL> select round(55.5),round(-55.4),trunc(55.5),trunc(-55.5) from dual;

 

ROUND(55.5) ROUND(-55.4) TRUNC(55.5) TRUNC(-55.5)
----------- ------------ ----------- ------------
         56          -55          55          -55


29.SIGN
取数字n的符号,大于0返回1,小于0返回-1,等于0返回0
SQL> select sign(123),sign(-100),sign(0) from dual;

SIGN(123) SIGN(-100)   SIGN(0)
--------- ---------- ---------
        1         -1         0


30.SIN
返回一个数字的正弦值
SQL> select sin(1.57079) from dual;

 

 

SIN(1.57079)
------------
           1


31.SIGH
返回双曲正弦的值
SQL> select sin(20),sinh(20) from dual;

  SIN(20)  SINH(20)
--------- ---------
.91294525 242582598

 


32.SQRT
返回数字n的根
SQL> select sqrt(64),sqrt(10) from dual;

 

 SQRT(64)  SQRT(10)
--------- ---------
        8 3.1622777

 

 

33.TAN
返回数字的正切值
SQL> select tan(20),tan(10) from dual;

 

  TAN(20)   TAN(10)
--------- ---------
2.2371609 .64836083

 

 


34.TANH
返回数字n的双曲正切值
SQL> select tanh(20),tan(20) from dual;

 TANH(20)   TAN(20)
--------- ---------
        1 2.2371609

 

 

 

 

35.TRUNC
按照指定的精度截取一个数
SQL> select trunc(124.1666,-2) trunc1,trunc(124.16666,2) from dual;

 

 

   TRUNC1 TRUNC(124.16666,2)
--------- ------------------
      100             124.16

 

 

 

 

36.ADD_MONTHS
增加或减去月份
SQL> select to_char(add_months(to_date('199912','yyyymm'),2),'yyyymm') from dual;

TO_CHA
------
200002
SQL> select to_char(add_months(to_date('199912','yyyymm'),-2),'yyyymm') from dual;

 

 

TO_CHA
------
199910

 


37.LAST_DAY
返回日期的最后一天
SQL> select to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd') from dual;

TO_CHAR(SY TO_CHAR((S
---------- ----------
2004.05.09 2004.05.10
SQL> select last_day(sysdate) from dual;

LAST_DAY(S
----------
31-5月 -04


38.MONTHS_BETWEEN(date2,date1)
给出date2-date1的月份
SQL> select months_between('19-12月-1999','19-3月-1999') mon_between from dual;

 

MON_BETWEEN
-----------
          9
SQL>selectmonths_between(to_date('2000.05.20','yyyy.mm.dd'),to_date('2005.05.20','yyyy.mm.dd')) mon_betw from dual;

 MON_BETW
---------
      -60

 

39.NEW_TIME(date,'this','that')
给出在this时区=other时区的日期和时间
SQL> select to_char(sysdate,'yyyy.mm.dd hh24:mi:ss') bj_time,to_char(new_time
  2  (sysdate,'PDT','GMT'),'yyyy.mm.dd hh24:mi:ss') los_angles from dual;

 

 

BJ_TIME             LOS_ANGLES
------------------- -------------------
2004.05.09 11:05:32 2004.05.09 18:05:32

 

 


40.NEXT_DAY(date,'day')
给出日期date和星期x之后计算下一个星期的日期
SQL> select next_day('18-5月-2001','星期五') next_day from dual;

 

 

NEXT_DAY
----------
25-5月 -01

 

 

 

 

41.SYSDATE
用来得到系统的当前日期
SQL> select to_char(sysdate,'dd-mm-yyyy day') from dual;

 

 

TO_CHAR(SYSDATE,'
-----------------
09-05-2004 星期日
trunc(date,fmt)按照给出的要求将日期截断,如果fmt='mi'表示保留分,截断秒
SQL> select to_char(trunc(sysdate,'hh'),'yyyy.mm.dd hh24:mi:ss') hh,
  2  to_char(trunc(sysdate,'mi'),'yyyy.mm.dd hh24:mi:ss') hhmm from dual;

 

 

HH                  HHMM
------------------- -------------------
2004.05.09 11:00:00 2004.05.09 11:17:00

 

 

 

 

42.CHARTOROWID
将字符数据类型转换为ROWID类型
SQL> select rowid,rowidtochar(rowid),ename from scott.emp;

ROWID              ROWIDTOCHAR(ROWID) ENAME
------------------ ------------------ ----------
AAAAfKAACAAAAEqAAA AAAAfKAACAAAAEqAAA SMITH
AAAAfKAACAAAAEqAAB AAAAfKAACAAAAEqAAB ALLEN
AAAAfKAACAAAAEqAAC AAAAfKAACAAAAEqAAC WARD
AAAAfKAACAAAAEqAAD AAAAfKAACAAAAEqAAD JONES

 


43.CONVERT(c,dset,sset)
将源字符串 sset从一个语言字符集转换到另一个目的dset字符集
SQL> select convert('strutz','we8hp','f7dec') "conversion" from dual;

conver
------
strutz

分享到:
评论

相关推荐

    Oracle分析函数

    Oracle分析函数——函数列表 SUM :该函数计算组中表达式的累积和 MIN :在一个组中的数据窗口中查找表达式的最小值 MAX :在一个组中的数据窗口中查找表达式的最大值 AVG :用于计算一个组和数据窗口内表达式的...

    oracle函数大全

    感于总有些网友提出一些非常基础的问题,比如有没有实现某某功能的函数啊,某某函数是做什么用的啊,格式是什么等等,同时也感受到自己对oracle函数认识的不足,于是集中月余时间专注于oracle函数,小有心得不敢私藏...

    oracle_sql函数.xls

    函数名: 说明 abs(x)(数值) 返回x的绝对值 add_months(x,y)(日期) 返回值为日期x加上y个月 ascii(x)(字符) 返回字符x的十进字表示 avg([distinct|all]x](聚组) 返回x列的平均值 ceil(x)(字符) ...

    oracle 日期函数集合(集中版本)第1/2页

    oracle 日期函数网上已经有了不少,特我们跟集中一下,免得大家麻烦。

    舞动DB2系列:从Oracle到DB2开发—从容转身(王飞鹏,李玉明) PDF高清扫描版

    第二部分讲述了db2开发工具方面的知识,以及如何更有效地开发存储过程、用户自定义函数和触发器。第三部分讲述了开发者在java ee和.net架构下开发数据应用的最佳实践。同时,在附录a中,针对sql pl与plsql做了集中...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    作者通过总结各自多年的软件开发和教学培训经验,与大家分享了掌握Oracle SQL所独有的丰富功能的技巧所在,内容涵盖SQL执行、联结、集合、分析函数、子句、事务处理等多个方面。读者可以学习到以下几个方面的技巧:...

    深度对比Oracle与SQL Server

    比如说一个做SQL Server开収人员在要写Oracle存储过程的时候可能会先去找那些内置的函数然后比较它们之间不同点,她也可能会去比较发量声明以及错误处理的异同。 本系列文章中我将尝试对Microsoft SQL Server和...

    Oracle正则表达式使用介绍

    REGEXP_SUBSTR REGEXP_SUBSTR 函数使用正则表达式来指定返回串的起点和终点,返回与source_string 字符集中的VARCHAR2 或CLOB 数据相同的字符串。 语法: –1.REGEXP_SUBSTR与SUBSTR函数相同,返回截取的子字符串 ...

    ORACLE数据库智能化管理系统2012

    软件介绍 序言 ORACLE数据库管理们: 你们还在为处理日常大量数据,天天写过多的SQL语句而烦恼吗? 还在为由于没有面面具到的软件来汇制想要的日常数据报表而烦恼吗? 还在为查找帐务不平的数据或数据重复,而不知是...

    oracle详解

    ·有一些对象,如物化视图,基于函数的索引等不能被传输 可以用以下的方法来检测一个表空间或一套表空间是否符合传输标准: exec sys.dbms_tts.transport_set_check(‘tablespace_name’,true); select * from sys....

    proton-oracle

    汇总函数-> {支持的类型} “ sd”-> {double} “平均值”-> {double} “中位数”-> {double,uint64_t} “模式”-> {双精度,uint64_t,字符串} “ last”-> {double,uint64_t,string} 注意:如果存在偶数个...

    VC++6.0核心编程源码.rar

    在我们开始介绍Microsoft Windows应该提供的许多特性之前,我们首先必须了解Windows的各个函数是如何进行错误处理的。 当你调用一个Windows函数时,它首先要检验你传递给它的的各个参数的有效性,然后再设法执行它的...

    MySQL中在查询结果集中得到记录行号的方法

    如果需要在查询语句返回的列中包含一列表示该条记录在整个结果集中的行号, ISO SQL:2003 标准提出的方法是提供 ROW_NUMBER() / RANK() 函数。 Oracle 中可以使用标准方法(8i版本以上),也可以使用非标准的 ROWNUM...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    本书是第I卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用PHP进行Web开发的各个方面的知识和技巧,主要包括开发环境、PHP基础、Web页面交互、文件操作、会话应用、图形图像处理及面向...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    本书是第I卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用PHP进行Web开发的各个方面的知识和技巧,主要包括开发环境、PHP基础、Web页面交互、文件操作、会话应用、图形图像处理及面向...

    php网络开发完全手册

    13.3.2 ORACLE 207 13.3.3 SYBASE 207 13.3.4 DB2 207 13.3.5 SQL Server 207 13.4 SQL语言简介 207 13.5 常见的数据库设计问题 208 13.6 关系型数据库的设计原则 209 13.6.1 第一范式(1NF) 209 13.6.2 第二范式...

Global site tag (gtag.js) - Google Analytics