设为首页 收藏本站
查看: 751|回复: 0

[经验分享] oracle函数大全 (Enter value for)

[复制链接]

尚未签到

发表于 2016-8-4 09:36:08 | 显示全部楼层 |阅读模式
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;

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   剪掉后面的字符
如果不指定,默认为空格符  

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

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-252583-1-1.html 上篇帖子: 在Oracle中执行动态SQL 下篇帖子: Oracle数据库命令集.doc
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表