数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

Oracle数据库常用函数(1)


发布日期:2019年10月23日
 
Oracle数据库常用函数(1)

ASCII

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

SQL> select ascii(A) Aascii(a) aascii() zeroascii( ) space from dual;

A a ZERO SPACE

CHR

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

SQL> select chr() zhaochr() chr from dual;

ZH C

赵 A

CONCAT

连接两个字符串;

SQL> select concat()||转 高乾竞电话 from dual;

高乾竞电话

INITCAP

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

SQL> select initcap(smith) upp from dual;

UPP

Smith

INSTR(CCIJ)

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

C 被搜索的字符串

C 希望搜索的字符串

I 搜索的开始位置默认为

J 出现的位置默认为

SQL> select instr(oracle traningra) instring from dual;

INSTRING

LENGTH

返回字符串的长度;

SQL> select namelength(name)addrlength(addr)sallength(to_char(sal)) from gaonchar_tst;

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

高乾竞 北京市海锭区

LOWER

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

SQL> select lower(AaBbCcDd)AaBbCcDd from dual;

AABBCCDD

aabbccdd

UPPER

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

SQL> select upper(AaBbCcDd) upper from dual;

UPPER

AABBCCDD

RPAD和LPAD(粘贴字符)

RPAD 在列的右边粘贴字符

LPAD 在列的左边粘贴字符

SQL> select lpad(rpad(gao*)*)from dual;

LPAD(RPAD(GAO

*******gao*******

不够字符则用*来填满

LTRIM和RTRIM

LTRIM 删除左边出现的字符串

RTRIM 删除右边出现的字符串

SQL> select ltrim(rtrim( gao qian jing ) ) from dual;

LTRIM(RTRIM(

gao qian jing

SUBSTR(stringstartcount)

取子字符串从start开始取count个

SQL> select substr() from dual;

SUBSTR(

REPLACE(stringss)

string 希望被替换的字符或变量

s 被替换的字符串

s 要替换的字符串

SQL> select replace(he love youhei) from dual;

REPLACE(H

i love you

SOUNDEX

返回一个与给定的字符串读音相同的字符串

SQL> create table table(xm varchar());

SQL> insert into table values(weather);

SQL> insert into table values(wether);

SQL> insert into table values(gao);

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

XM

weather

wether

? TRIM(s from string)

LEADING 剪掉前面的字符

TRAILING 剪掉后面的字符

如果不指定默认为空格符

ABS

返回指定值的绝对值

SQL> select abs()abs() from dual;

ABS() ABS()

ACOS

给出反余弦的值

SQL> select acos() from dual;

ACOS()

ASIN

给出反正弦的值

SQL> select asin() from dual;

ASIN()

ATAN

返回一个数字的反正切值

SQL> select atan() from dual;

ATAN()

CEIL

返回大于或等于给出数字的最小整数

SQL> select ceil() from dual;

CEIL()

COS

返回一个给定数字的余弦

SQL> select cos() from dual;

COS()

COSH

返回一个数字反余弦值

SQL> select cosh() from dual;

COSH()

EXP

返回一个数字e的n次方根

SQL> select exp()exp() from dual;

EXP() EXP()

FLOOR

对给定的数字取整数

SQL> select floor() from dual;

FLOOR()

LN

返回一个数字的对数值

SQL> select ln()ln()ln() from dual;

LN() LN() LN()

LOG(nn)

返回一个以n为底n的对数

SQL> select log()log() from dual;

LOG() LOG()

MOD(nn)

返回一个n除以n的余数

SQL> select mod()mod()mod() from dual;

MOD() MOD() MOD()

POWER

返回n的n次方根

SQL> select power()power() from dual;

POWER() POWER()

ROUND和TRUNC

按照指定的精度进行捨入

SQL> select round()round()trunc()trunc() from dual;

ROUND() ROUND() TRUNC() TRUNC()

SIGN

取数字n的符号大于返回小于返回等于返回

SQL> select sign()sign()sign() from dual;

SIGN() SIGN() SIGN()

SIN

返回一个数字的正弦值

SQL> select sin() from dual;

SIN()

SIGH

返回双曲正弦的值

SQL> select sin()sinh() from dual;

SIN() SINH()

SQRT

返回数字 n 的平方根

SQL> select sqrt() sqrt() from dual;

SQRT() SQRT()

TAN

返回数字的正切值

SQL> select tan()tan() from dual;

TAN() TAN()

TANH

返回数字n的双曲正切值

SQL> select tanh()tan() from dual;

TANH() TAN()

TRUNC

按照指定的精度截取一个数

SQL> select trunc() trunctrunc() from dual;

TRUNC TRUNC()

ADD_MONTHS

增加或减去月份

SQL> select to_char(add_months(to_date(yyyymm))yyyymm) from dual;

TO_CHA

SQL> select to_char(add_months(to_date(yyyymm))yyyymm) from dual;

TO_CHA

LAST_DAY

返回日期的最后一天

SQL> select to_char(sysdateyyyymmdd)to_char((sysdate)+yyyymmdd) from dual;

TO_CHAR(SY TO_CHAR((S

SQL> select last_day(sysdate) from dual;

LAST_DAY(SYSDA

MONTHS_BETWEEN(datedate)

给出datedate的月份

SQL> select months_between() mon_between from dual;

MON_BETWEEN

SQL> select months_between(to_date( yyyymmdd)to_date( yyyymmdd)) mon_betw from dual;

MON_BETW

NEW_TIME(datethisthat)

给出在this时区=other时区的日期和时间

SQL> select to_char(sysdateyyyymmdd hh:mi:ss) bj_timeto_char(new_time

(sysdatePDTGMT)yyyymmdd hh:mi:ss) los_angles from dual;

BJ_TIME LOS_ANGLES

:: ::

NEXT_DAY(dateday)

给出日期date和星期x之后计算下一个星期的日期

SQL> select next_day(星期五) next_day from dual;

NEXT_DAY

SYSDATE

用来得到系统的当前日期

SQL> select to_char(sysdateddmmyyyy day) from dual;

TO_CHAR(SYSDATE

星期日

trunc(datefmt)按照给出的要求将日期截断如果fmt=mi表示保留分截断秒

SQL> select to_char(trunc(sysdatehh)yyyymmdd hh:mi:ss) hh

to_char(trunc(sysdatemi)yyyymmdd hh:mi:ss) hhmm from dual;

HH HHMM

:: ::

上一篇:Oracle转型云服务替代软件许可

下一篇:Oracle Exadata助企业优化在Oracle数据中心现有投资