110个oracle常用函数总结(8)

110个oracle常用函数总结(8),第1张

  RATIO_TO_REPORT功能描述 该函数计算expression/(sum(expression))的值 它给出相对于总数的百分比 即当前行对sum(expression)的贡献

 SAMPLE 下例计算每个员工的工资占该类员工总工资的百分比

 SELECT last_name salary RATIO_TO_REPORT(salary) OVER () AS rr

 FROM employees

 WHERE job_id = PU_CLERK ;

 LAST_NAME SALARY RR

 

 Khoo Baida Tobias Himuro Colmenares

  REGR_ (Linear Regression) Functions功能描述 这些线性回归函数适合最小二乘法回归线 有 个不同的回归函数可使用

 REGR_SLOPE 返回斜率 等于COVAR_POP(expr expr ) / VAR_POP(expr ) REGR_INTERCEPT 返回回归线的y截距 等于AVG(expr ) REGR_SLOPE(expr expr ) AVG(expr )

 REGR_COUNT 返回用于填充回归线的非空数字对的数目

 REGR_R 返回回归线的决定系数 计算式为

 If VAR_POP(expr ) = then return NULL

 If VAR_POP(expr ) = and VAR_POP(expr ) != then return If VAR_POP(expr ) > and VAR_POP(expr != then return POWER(CORR(expr expr) ) REGR_AVGX 计算回归线的自变量(expr )的平均值 去掉了空对(expr expr )后 等于AVG(expr ) REGR_AVGY 计算回归线的应变量(expr )的平均值 去掉了空对(expr expr )后 等于AVG(expr ) REGR_SXX 返回值等于REGR_COUNT(expr expr ) VAR_POP(expr ) REGR_SYY 返回值等于REGR_COUNT(expr expr ) VAR_POP(expr ) REGR_SXY: 返回值等于REGR_COUNT(expr expr ) COVAR_POP(expr expr )

 (下面的例子都是在SH用户下完成的)

 SAMPLE 下例计算 年最后三个星期中两种产品( 和 )在周末的销售量中已开发票数量和总数量的累积斜率和回归线的截距

 SELECT t fiscal_month_number Month t day_number_in_month Day REGR_SLOPE(s amount_sold s quantity_sold) OVER (ORDER BY t fiscal_month_desc t day_number_in_month) AS CUM_SLOPE REGR_INTERCEPT(s amount_sold s quantity_sold) OVER (ORDER BY t fiscal_month_desc t day_number_in_month) AS CUM_ICPT FROM sales s times t WHERE s time_id = t time_id AND s prod_id IN ( ) AND t fiscal_year= AND t fiscal_week_number IN ( ) AND t day_number_in_week IN ( ) ORDER BY t fiscal_month_desc t day_number_in_month;

 Month Day CUM_SLOPE CUM_ICPT

 

 

 

 

 SAMPLE 下例计算 年 月每天的累积交易数量

 SELECT UNIQUE t day_number_in_month REGR_COUNT(s amount_sold s quantity_sold) OVER (PARTITION BY t fiscal_month_number ORDER BY t day_number_in_month)

  Regr_Count

 FROM sales s times t WHERE s time_id = t time_id AND t fiscal_year = AND t fiscal_month_number = ;

 DAY_NUMBER_IN_MONTH Regr_Count

 

 

 

 

 

 

 

 

 SAMPLE 下例计算 年每月销售量中已开发票数量和总数量的累积回归线决定系数

 SELECT t fiscal_month_number REGR_R (SUM(s amount_sold) SUM(s quantity_sold)) OVER (ORDER BY t fiscal_month_number) Regr_R FROM sales s times t WHERE s time_id = t time_id AND t fiscal_year = GROUP BY t fiscal_month_number ORDER BY t fiscal_month_number;

 FISCAL_MONTH_NUMBER Regr_R

 

 

 

 

 SAMPLE 下例计算 年 月最后两周产品 的销售量中已开发票数量和总数量的累积平均值

 SELECT t day_number_in_month REGR_AVGY(s amount_sold s quantity_sold) OVER (ORDER BY t fiscal_month_desc t day_number_in_month) Regr_AvgY REGR_AVGX(s amount_sold s quantity_sold) OVER (ORDER BY t fiscal_month_desc t day_number_in_month)

  Regr_AvgX

 FROM sales s times t WHERE s time_id = t time_id AND s prod_id = AND t fiscal_month_desc = AND t fiscal_week_number IN ( ) ORDER BY t day_number_in_month;

 DAY_NUMBER_IN_MONTH Regr_AvgY Regr_AvgX

 

 

 SAMPLE 下例计算产品 和 在 年 月周末销售量中已开发票数量和总数量的累积REGR_SXY REGR_SXX and REGR_SYY统计值

 SELECT t day_number_in_month REGR_SXY(s amount_sold s quantity_sold) OVER (ORDER BY t fiscal_year t fiscal_month_desc) Regr_sxy REGR_SYY(s amount_sold s quantity_sold) OVER (ORDER BY t fiscal_year t fiscal_month_desc) Regr_syy REGR_SXX(s amount_sold s quantity_sold) OVER (ORDER BY t fiscal_year t fiscal_month_desc) Regr_sxx FROM sales s times t WHERE s time_id = t time_id AND prod_id IN ( ) AND t fiscal_month_desc = AND t day_number_in_week IN ( ) ORDER BY t day_number_in_month;

 DAY_NUMBER_IN_MONTH Regr_sxy Regr_syy Regr_sxx

 

 

  ROW_NUMBER功能描述 返回有序组中一行的偏移量 从而可用于按特定标准排序的行号

 SAMPLE 下例返回每个员工再在每个部门中按员工号排序后的顺序号

 SELECT department_id last_name employee_id ROW_NUMBER()

 OVER (PARTITION BY department_id ORDER BY employee_id) AS emp_id

 FROM employees

 WHERE department_id < ;

 DEPARTMENT_ID LAST_NAME EMPLOYEE_ID EMP_ID

 

  Whalen

  Hartstein

  Fay

  Raphaely

  Khoo

  Baida

  Tobias

  Himuro

  Colmenares

  Mavris

  STDDEV功能描述 计算当前行关于组的标准偏离 (Standard Deviation)

 SAMPLE 下例返回部门 按雇佣日期排序的薪水值的累积标准偏离

 SELECT last_name hire_date salary

 STDDEV(salary) OVER (ORDER BY hire_date) StdDev

 FROM employees

 WHERE department_id = ;

 LAST_NAME HIRE_DATE SALARY StdDev

 

 Raphaely 月

 Khoo 月 Tobias 月 Baida 月 Himuro 月 Colmenares 月

  STDDEV_POP功能描述 该函数计算总体标准偏离 并返回总体变量的平方根 其返回值与VAR_POP函数的平方根相同 (Standard Deviation-Population)

 SAMPLE 下例返回部门 的薪水值的总体标准偏差

 SELECT department_id last_name salary

 STDDEV_POP(salary) OVER (PARTITION BY department_id) AS pop_std

 FROM employees

 WHERE department_id in ( );

 DEPARTMENT_ID LAST_NAME SALARY POP_STD

 

  Hartstein

  Fay

  Raphaely Khoo Baida Colmenares Himuro Tobias Hunold Ernst Austin Pataballa Lorentz

  STDDEV_SAMP功能描述 该函数计算累积样本标准偏离 并返回总体变量的平方根 其返回值与VAR_POP函数的平方根相同 (Standard Deviation-Sample)

 SAMPLE 下例返回部门 的薪水值的样本标准偏差

 SELECT department_id last_name hire_date salary

 STDDEV_SAMP(salary) OVER

 (PARTITION BY department_id ORDER BY hire_date

 ROWS BEEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS cum_sdev

 FROM employees

 WHERE department_id in ( );

 DEPARTMENT_ID LAST_NAME HIRE_DATE SALARY CUM_SDEV

 

  Hartstein 月

  Fay 月

  Raphaely 月

  Khoo 月 Tobias 月 Baida 月 Himuro 月 Colmenares 月

  Hunold 月

  Ernst 月 Austin 月 Pataballa 月 Lorentz 月

  SUM功能描述 该函数计算组中表达式的累积和

 SAMPLE 下例计算同一经理下员工的薪水累积值

 SELECT manager_id last_name salary

 SUM (salary) OVER (PARTITION BY manager_id ORDER BY salary

 RANGE UNBOUNDED PRECEDING) l_csum

 FROM employees

 WHERE manager_id in ( );

 MANAGER_ID LAST_NAME SALARY L_CSUM

 

  Whalen

  Mavris

  Baer

  Greenberg

  Higgins

  Lorentz

  Austin

  Pataballa

  Ernst

  Popp

  Sciarra

  Urman

  Chen

  Faviet

  VAR_POP功能描述 (Variance Population)该函数返回非空集合的总体变量(忽略null) VAR_POP进行如下计算

 (SUM(expr ) SUM(expr) / COUNT(expr)) / COUNT(expr)

 SAMPLE 下例计算 年每月销售的累积总体和样本变量(本例在SH用户下运行)

 SELECT t calendar_month_desc VAR_POP(SUM(s amount_sold)) OVER (ORDER BY t calendar_month_desc) Var_Pop VAR_SAMP(SUM(s amount_sold)) OVER (ORDER BY t calendar_month_desc) Var_Samp FROM sales s times t WHERE s time_id = t time_id AND t calendar_year = GROUP BY t calendar_month_desc;

 CALENDAR Var_Pop Var_Samp

 

 

  E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+

  VAR_SAMP功能描述 (Variance Sample)该函数返回非空集合的样本变量(忽略null) VAR_POP进行如下计算

 (SUM(exprexpr) SUM(expr)SUM(expr)/COUNT(expr))/(COUNT(expr) )

 SAMPLE 下例计算 年每月销售的累积总体和样本变量

 SELECT t calendar_month_desc VAR_POP(SUM(s amount_sold)) OVER (ORDER BY t calendar_month_desc) Var_Pop VAR_SAMP(SUM(s amount_sold)) OVER (ORDER BY t calendar_month_desc) Var_Samp FROM sales s times t WHERE s time_id = t time_id AND t calendar_year = GROUP BY t calendar_month_desc;

 CALENDAR Var_Pop Var_Samp

 

 

  E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+ E+

  VARIANCE功能描述 该函数返回表达式的变量 Oracle计算该变量如下 如果表达式中行数为 则返回 如果表达式中行数大于 则返回VAR_SAMP

 SAMPLE 下例返回部门 按雇佣日期排序的薪水值的累积变化

 SELECT last_name salary VARIANCE(salary)

 OVER (ORDER BY hire_date) Variance

 FROM employees

 WHERE department_id = ;

 LAST_NAME SALARY Variance

 

 Raphaely

 Khoo

 Tobias Baida

 Himuro

lishixinzhi/Article/program/Oracle/201311/17896

oracle的NVL函数的功能室如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。

NVL(E1,E2)的功能为:如果E1为NULL,则函数返回E2,否则返回E1本身。但此函数有一定局限,所以就有了NVL2函数。

NVL2函数的格式如下:NVL2(expr1,expr2,expr3)

含义是:如果该函数的第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第三个参数的值。

NVL2函数:Oracle/PLSQL中的一个函数,NVL2(E1,E2,E3)的功能为:如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。

扩展资料:

NVL函数的功能是实现空值的转换,根据第一个表达式的值是否为空值来返回响应的列名或表达式,主要用于对数据列上的空值进行处理,语法格式如:NVL(string1,replace_with)

如果第一个参数的值为空值,则返回第二个参数的值,否则返回第一个参数的值。如果两个参数的值都为空值,则返回空值。

第一个参数和第二个参数可以是任何类型的数据,但两个参数的数据类型必须相同(或能够由Oracle隐式转换为相同的类型)。

--nvl函数

作用:判断某个值是否为空值,若不为空值则输出,若为空值,返回指定值。

详细解释如下:

1、nvl()函数的格式如下:NVL(expr1,expr2);

2、含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。

3、例:select name,NVL(name,-1) from user;运行后,结果返回两列数值,若name为空,则返回-1,若name不为空值,则返回其自身。

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。

参考资料:

:nvl函数

  trim函数可以过滤指定的字符串

  完整格式:TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)

  简化格式:TRIM([remstr FROM] str)

  返回字符串 str , 其中所有remstr前缀和/或后缀都已被删除。若分类符BOTH、LEADIN或TRAILING中没有一个是给定的,则假设为BOTH。remstr为可选项,在未指定情况下,可删除空格。

  [sql] view plain copy 在CODE上查看代码片派生到我的代码片

  mysql> SELECT TRIM(' bar ');

  -> 'bar'

  mysql> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx'); --删除指定的首字符 x

  -> 'barxxx'

  mysql> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx'); --删除指定的首尾字符 x

  -> 'bar'

  mysql> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz'); --删除指定的尾字符 x

  -> 'barx'

  MySQL中的去除左空格函数:

  LTRIM(str);

  [sql] view plain copy 在CODE上查看代码片派生到我的代码片

  mysql> SELECT LTRIM(' barbar');

  -> 'barbar'

  mysql中的去除右空格函数:

  RTRIM(str):

  [sql] view plain copy 在CODE上查看代码片派生到我的代码片

  mysql> SELECT RTRIM('barbar ');

  -> 'barbar'

  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(sysdate yyyy mm dd ) to_char((sysdate)+ yyyy mm dd ) from dual;

 TO_CHAR(SY TO_CHAR((S

 

 

 SQL> select last_day(sysdate) from dual;

 LAST_DAY(S

 

  月

  MONTHS_BEEEN(date date )

 给出date date 的月份

 SQL> select months_beeen( 月 月 ) mon_beeen from dual;

 MON_BEEEN

 

 

 SQL>selectmonths_beeen(to_date( yyyy mm dd ) to_date( yyyy mm dd )) mon_be from dual;

 MON_BE

 

 

  NEW_TIME(date this that )

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

 SQL> select to_char(sysdate yyyy mm dd hh :mi:ss ) bj_time to_char(new_time

  (sysdate PDT GMT ) yyyy mm dd hh :mi:ss ) los_angles from dual;

 BJ_TIME LOS_ANGLES

 

  : : : :

  NEXT_DAY(date day )

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

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

 NEXT_DAY

 

  月

  SYSDATE

 用来得到系统的当前日期

 SQL> select to_char(sysdate dd mm yyyy day ) from dual;

 TO_CHAR(SYSDATE

 

  星期日

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

 SQL> select to_char(trunc(sysdate hh ) yyyy mm dd hh :mi:ss ) hh

  to_char(trunc(sysdate mi ) yyyy mm dd hh :mi:ss ) hhmm from dual;

 HH HHMM

 

  : : : :

  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

  CONVERT(c dset sset)

 将源字符串 sset从一个语言字符集转换到另一个目的dset字符集

 SQL> select convert( strutz we hp f dec ) conversion from dual;

 conver

 

 strutz

  HEXTORAW

 将一个十六进制构成的字符串转换为二进制

  RAWTOHEXT

 将一个二进制构成的字符串转换为十六进制

  ROWIDTOCHAR

 将ROWID数据类型转换为字符类型

  TO_CHAR(date format )

 SQL> select to_char(sysdate yyyy/mm/dd hh :mi:ss ) from dual;

 TO_CHAR(SYSDATE YY

 

  / / : :

  TO_DATE(string format )

 将字符串转化为ORACLE中的一个日期

  TO_MULTI_BYTE

 将字符串中的单字节字符转化为多字节字符

 SQL> select to_multi_byte( 高 ) from dual;

 TO

 

 高

  TO_NUMBER

 将给出的字符转换为数字

 SQL> select to_number( ) year from dual;

 YEAR

 

 

  BFILENAME(dir file)

 指定一个外部二进制文件

 SQL>insert into file_tb values(bfilename( lob_dir image gif ));

  CONVERT( x desc source )

 将x字段或变量的源source转换为desc

 SQL> select sid serial# username decode(mand

  none

  insert

 

  select

  update

  delete

  drop

  other ) cmd from v$session where type!= background ;

 SID SERIAL# USERNAME CMD

 

  none

  none

  none

  none

  none

  none

  none

  none

  GAO select

  GAO none

  DUMP(s fmt start length)

 DUMP函数以fmt指定的内部数字格式返回一个VARCHAR 类型的值

 SQL> col global_name for a

 SQL> col dump_string for a

 SQL> set lin

 SQL> select global_name dump(global_name ) dump_string from global_name;

 GLOBAL_NAME DUMP_STRING

 

 ORACLE WORLD Typ= Len= CharacterSet=ZHS GBK: W O R L D

  EMPTY_BLOB()和EMPTY_CLOB()

 这两个函数都是用来对大数据类型字段进行初始化 *** 作的函数

  GREATEST

 返回一组表达式中的最大值 即比较字符的编码大小

 SQL> select greatest( AA AB AC ) from dual;

 GR

 

 AC

 SQL> select greatest( 啊 安 天 ) from dual;

 GR

 

 天

  LEAST

 返回一组表达式中的最小值

 SQL> select least( 啊 安 天 ) from dual;

 LE

 

 啊

  UID

 返回标识当前用户的唯一整数

 SQL> show user

 USER 为 GAO

 SQL> select username user_id from dba_users where user_id=uid;

 USERNAME USER_ID

 

 GAO

  USER

 返回当前用户的名字

 SQL> select user from dual;

 USER

 

 GAO

  USEREVN

 返回当前用户环境的信息 opt可以是:

 ENTRYID SESSIONID TERMINAL ISDBA LABLE LANGUAGE CLIENT_INFO LANG VSIZE

 ISDBA 查看当前用户是否是DBA如果是则返回true

 SQL> select userenv( isdba ) from dual;

 USEREN

 

 FALSE

 SQL> select userenv( isdba ) from dual;

 USEREN

 

 TRUE

 SESSION

 返回会话标志

 SQL> select userenv( sessionid ) from dual;

 USERENV( SESSIONID )

 

 

 ENTRYID

 返回会话人口标志

 SQL> select userenv( entryid ) from dual;

 USERENV( ENTRYID )

 

 

 INSTANCE

 返回当前INSTANCE的标志

 SQL> select userenv( instance ) from dual;

 USERENV( INSTANCE )

 

 

 LANGUAGE

 返回当前环境变量

 SQL> select userenv( language ) from dual;

 USERENV( LANGUAGE )

 

 SIMPLIFIED CHINESE_CHINA ZHS GBK

 LANG

 返回当前环境的语言的缩写

 SQL> select userenv( lang ) from dual;

 USERENV( LANG )

 

 ZHS

 TERMINAL

 返回用户的终端或机器的标志

 SQL> select userenv( terminal ) from dual;

 USERENV( TERMINA

 

 GAO

 VSIZE(X)

 返回X的大小(字节)数

 SQL> select vsize(user) user from dual;

 VSIZE(USER) USER

 

  SYSTEM

  AVG(DISTINCT|ALL)

 all表示对所有的值求平均值 distinct只对不同的值求平均值

 SQLWKS> create table table (xm varchar( ) sal number( ));

 语句已处理

 SQLWKS> insert into table values( gao );

 SQLWKS> insert into table values( gao );

 SQLWKS> insert into table values( zhu );

 SQLWKS> mit;

 SQL> select avg(distinct sal) from gao table ;

 AVG(DISTINCTSAL)

 

 

 SQL> select avg(all sal) from gao table ;

 AVG(ALLSAL)

 

 

  MAX(DISTINCT|ALL)

 求最大值 ALL表示对所有的值求最大值 DISTINCT表示对不同的值求最大值 相同的只取一次

 SQL> select max(distinct sal) from scott emp;

 MAX(DISTINCTSAL)

 

 

  MIN(DISTINCT|ALL)

 求最小值 ALL表示对所有的值求最小值 DISTINCT表示对不同的值求最小值 相同的只取一次

 SQL> select min(all sal) from gao table ;

 MIN(ALLSAL)

 

 

  STDDEV(distinct|all)

 求标准差 ALL表示对所有的值求标准差 DISTINCT表示只对不同的值求标准差

 SQL> select stddev(sal) from scott emp;

 STDDEV(SAL)

 

 

 SQL> select stddev(distinct sal) from scott emp;

 STDDEV(DISTINCTSAL)

 

 

  VARIANCE(DISTINCT|ALL)

 求协方差

 SQL> select variance(sal) from scott emp;

 VARIANCE(SAL)

 

 

  GROUP BY

 主要用来对一组数进行统计

 SQL> select deptno count() sum(sal) from scott emp group by deptno;

 DEPTNO COUNT() SUM(SAL)

 

 

 

 

  HAVING

 对分组统计再加限制条件

 SQL> select deptno count() sum(sal) from scott emp group by deptno having count()>= ;

 DEPTNO COUNT() SUM(SAL)

 

 

 

 SQL> select deptno count() sum(sal) from scott emp having count()>= group by deptno ;

 DEPTNO COUNT() SUM(SAL)

 

 

 

  ORDER BY

 用于对查询到的结果进行排序输出

 SQL> select deptno ename sal from scott emp order by deptno sal desc;

 DEPTNO ENAME SAL

 

  KING

  CLARK

  MILLER

  SCOTT

  FORD

  JONES

  ADAMS

  SMITH

  BLAKE

  ALLEN

  TURNER

  WARD

  MARTIN

lishixinzhi/Article/program/Oracle/201311/16630

SQL中的单记录函数

1ASCII

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

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

A A ZERO SPACE

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

65 97 48 32

2CHR

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

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

ZH C

-- -

赵 A

3CONCAT

连接两个字符串;

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

高乾竞电话

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

010-88888888转23

4INITCAP

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

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

UPP

-----

Smith

5INSTR(C1,C2,I,J)

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

C1 被搜索的字符串

C2 希望搜索的字符串

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

J 出现的位置,默认为1

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

INSTRING

---------

9

6LENGTH

返回字符串的长度;

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

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

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

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

7LOWER

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

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

AABBCCDD

--------

aabbccdd

8UPPER

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

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

UPPER

--------

AABBCCDD

9RPAD和LPAD(粘贴字符)

RPAD 在列的右边粘贴字符

LPAD 在列的左边粘贴字符

SQL select lpad(rpad('gao',10,''),17,'')from dual;

LPAD(RPAD('GAO',1

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

gao

不够字符则用来填满

10LTRIM和RTRIM

LTRIM 删除左边出现的字符串

RTRIM 删除右边出现的字符串

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

LTRIM(RTRIM('

-------------[nextpage]

gao qian jing

11SUBSTR(string,start,count)

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

SQL select substr('13088888888',3,8) from dual;

SUBSTR('

--------

08888888

12REPLACE('string','s1','s2')

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

s1 被替换的字符串

s2 要替换的字符串

SQL select replace('he love you','he','i') from dual;

REPLACE('HELOVEYOU','HE','I')

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

i love you

13SOUNDEX

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

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

14TRIM('s' from 'string')

LEADING 剪掉前面的字符

TRAILING 剪掉后面的字符

如果不指定,默认为空格符

15ABS

返回指定值的绝对值

SQL select abs(100),abs(-100) from dual;

ABS(100) ABS(-100)

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

100 100

16ACOS

给出反余弦的值

SQL select acos(-1) from dual;

ACOS(-1)

---------

31415927

17ASIN

给出反正弦的值

SQL select asin(05) from dual;

ASIN(05)

---------

52359878

18ATAN

返回一个数字的反正切值

SQL select atan(1) from dual;

ATAN(1)

---------

78539816

19CEIL

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

SQL select ceil(31415927) from dual;

CEIL(31415927)

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

4

20COS

返回一个给定数字的余弦

SQL select cos(-31415927) from dual;

COS(-31415927)

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

本文的适合人群是刚刚入门的初学者,大家要掌握好了这些Oracle函数,这些肯定会非常有用的,为大家学好Oracle数据库打下一个坚实的基础。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12183568.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存