`

Oracle数字与字符串函数及其他常用函数

阅读更多

参考 http://yangdi1984.blog.hexun.com/20238141_d.html

http://www.cnblogs.com/kafony/archive/2011/08/25/2153675.html

 

数学函数
1,取整函数(ceil 向上取整,floor 向下取整)
   select ceil(66.6) N1,floor(66.6) N2 from dual;

2, 取幂(power) 和 求平方根(sqrt)
   select power(3,2) N1,sqrt(9) N2 from dual;

3,求余
   select mod(9,5) from dual;

4,返回固定小数位数 (round:四舍五入,trunc:直接截断)
   select round(66.667,2) N1,trunc(66.667,2) N2 from dual;

5,返回值的符号(正数返回为1,负数为-1)
   select sign(-32),sign(293) from dual;

 

字符函数(可用于字面字符或数据库列)

1,字符串截取
   select substr('abcdef',1,3) from dual

2,查找子串位置
   select instr('abcfdgfdhd','fd') from dual

3,字符串连接
   select 'HELLO'||'hello world' from dual;

4, 1)去掉字符串中的空格
    select ltrim(' abc') s1,
    rtrim('zhang ') s2,
    trim(' zhang ') s3 from dual
   2)去掉前导和后缀
    select trim(leading 9 from 9998767999) s1,
    trim(trailing 9 from 9998767999) s2,
    trim(9 from 9998767999) s3 from dual;
  
5,返回字符串首字母的Ascii值
   select ascii('a') from dual

6,返回ascii值对应的字母
   select chr(97) from dual

7,计算字符串长度
   select length('abcdef') from dual

8,initcap(首字母变大写) ,lower(变小写),upper(变大写)
   select lower('ABC') s1,
       upper('def') s2,
       initcap('efg') s3
   from dual;

9,Replace
   select replace('abc','b','xy') from dual;

10,translate
   select translate('abc','b','xx') from dual; -- x是1位

11,lpad [左添充] rpad [右填充](用于控制输出格式)
   select lpad('func',15,'=') s1, rpad('func',15,'-') s2 from dual;
   select lpad(dname,14,'=') from dept;

12, decode[实现if ..then 逻辑]   注:第一个是表达式,最后一个是不满足任何一个条件的值
   select deptno,decode(deptno,10,'1',20,'2',30,'3','其他') from dept;
   例:
   select seed,account_name,decode(seed,111,1000,200,2000,0) from t_userInfo//如果seed为111,则取1000;为200,取2000;其它取0
   select seed,account_name,decode(sign(seed-111),1,'big seed',-1,'little seed','equal seed') from t_userInfo//如果seed>111,则显示大;为200,则显示小;其它则显

示相等

13 case[实现switch ..case 逻辑]
    SELECT CASE X-FIELD
         WHEN X-FIELD < 40 THEN 'X-FIELD 小于 40'
         WHEN X-FIELD < 50 THEN 'X-FIELD 小于 50'
         WHEN X-FIELD < 60 THEN 'X-FIELD 小于 60'
         ELSE 'UNBEKNOWN'
        END
   FROM DUAL
  
   注:CASE语句在处理类似问题就显得非常灵活。当只是需要匹配少量数值时,用Decode更为简洁。

如:select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值

Decode函数的语法结构如下:
decode (expression, search_1, result_1)
decode (expression, search_1, result_1, search_2, result_2)
decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n)

decode (expression, search_1, result_1, default)
decode (expression, search_1, result_1, search_2, result_2, default)
decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n, default)

decode函数比较表达式和搜索字,如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值。

 

其他函数
   1.user:
    返回登录的用户名称
    select user from dual;
   
   2.vsize:
    返回表达式所需的字节数
    select vsize('HELLO') from dual;
  
   3.nvl(ex1,ex2):  
    ex1值为空则返回ex2,否则返回该值本身ex1(常用)
    例:如果雇员没有佣金,将显示0,否则显示佣金
    select comm,nvl(comm,0) from emp;
  
   4.nullif(ex1,ex2):
    值相等返空,否则返回第一个值
    例:如果工资和佣金相等,则显示空,否则显示工资
    select nullif(sal,comm),sal,comm from emp;
  
   5.coalesce:  
    返回列表中第一个非空表达式
    select comm,sal,coalesce(comm,sal,sal*10) from emp;
  
   6.nvl2(ex1,ex2,ex3) :
    如果ex1不为空,显示ex2,否则显示ex3
    如:查看有佣金的雇员姓名以及他们的佣金
      select nvl2(comm,ename,') as HaveCommName,comm from emp;

分享到:
评论

相关推荐

    ORACLE常用数值函数、转换函数、字符串函数介绍

    ### ORACLE常用数值函数、转换函数、字符串函数详细介绍 #### 数值函数 1. **ABS(M)** - **功能**: 返回数值M的绝对值。 - **示例**: 如果输入`-123`, 函数返回`123`。 2. **MOD(M, N)** - **功能**: 返回M...

    oracle 如何判断一个字符串能否转换为数字?

    可以使用`TRANSLATE`函数将所有可能的数字字符(包括小数点、正负号和科学计数法中的“E”或“e”)替换为固定的字符,然后比较替换后字符串的大小,以此来判断原字符串是否可以转换为数字。 **步骤**: 1. **定义...

    oracle常用字符函数

    - `UPPER(char)`: 与`LOWER`相反,它将字符串中的所有小写字母转换为大写字母。 - `INITCAP(char)`: 这个函数将字符串的每个单词的首字母转换为大写,其余字母转换为小写,方便格式化输出。 - `SUBSTR(char,start...

    学习ORACLE常用数值函数转换函数字符串函数介绍.pdf

    Oracle数据库系统提供了丰富的函数,包括数值函数、转换函数和字符串函数,帮助用户在处理数据时进行各种操作。这些函数在SQL查询和数据库应用程序开发中起着至关重要的作用。 1. 数值函数: - `ABS(m)`:计算并...

    ORACLE 数据类型及常用函数培训

    以下是对标题和描述中提及的Oracle数据类型及常用函数的详细讲解。 **一、Oracle数据类型** 1. **字符数据类型** - `Char(n)`:固定长度的字符串,最多可存储n个字符,不足会填充空格。 - `Varchar2(n)`:可变...

    Oracle函数及常用sql

    1. **字符串函数**: - `CONCAT()`:连接两个或多个字符串。 - `SUBSTR()`:从字符串中提取子串。 - `UPPER()`和`LOWER()`:将字符串转换为大写或小写。 - `INSTR()`:查找字符串中特定字符或子串的位置。 - `...

    oracle优化篇及常用函数

    2. **字符串函数**:如`LENGTH()`计算字符串长度,`SUBSTR()`截取子字符串,`UPPER()`和`LOWER()`转换大小写,`TRIM()`去除空格,`CONCAT()`连接字符串。 3. **日期时间函数**:如`SYSDATE`获取当前系统日期,`ADD_...

    oracle数据库 110个常用函数

    15. TO_CHAR 函数:将数字转换为格式化的字符串,如TO_CHAR(9999.99) 可以控制小数点后的位数和千分位分隔符等。 这些函数在处理Oracle数据库中的数据时非常实用,无论是数据清洗、数据分析还是报告生成,都能大大...

    oracle常用函数和类型

    接下来,我们讨论Oracle中的一些常用函数: 1. CONCAT:这是字符串连接操作,可以将两个或更多字符串合并为一个。 2. ASCII和CHR:ASCII函数返回字符的ASCII码,而CHR函数根据给定的ASCII码返回对应的字符。 3. ...

    Oracle 函数大全[字符串函数,数学函数,日期函数]

    根据提供的标题、描述以及部分示例内容,我们可以总结出Oracle数据库中一些常用的功能函数及其应用场景。...以上就是Oracle数据库中常用的一些函数及其使用方法,通过这些函数,用户可以方便地处理字符串和数字数据。

    oracle常用函数chm版

    "Oracle常用函数chm版"是一个集合了多种Oracle数据库常用函数的参考资源,主要包含以下几个方面: 1. **数值型函数**:这类函数主要用于处理整数、浮点数等数值类型的数据。例如,`ROUND`函数用于四舍五入,`TRUNC`...

    Oracle常用函数集

    ### Oracle常用函数集详解 #### 一、ASCII函数 **功能描述:** ASCII函数用于返回与指定字符相对应的十进制数值。 **语法格式:** ```sql ASCII('字符') ``` **示例:** ```sql SELECT ASCII('A') A, ASCII('a') ...

    oralce字符函数

    以下是一些常用的Oracle字符串函数的详细说明: 1. ASCII函数:ASCII函数返回指定字符的ASCII码,即对应的十进制数字。例如,ASCII('A')将返回65,ASCII('a')返回97,ASCII('0')返回48,ASCII(' ')返回32。 2. CHR...

    oracle最常用的函数或方法总结

    1. **字符串处理函数** - `CONCAT()`:用于连接两个或多个字符串。 - `SUBSTR()`:从字符串的指定位置截取指定长度的子串。 - `INSTR()`:查找字符串中指定字符或子串的位置。 - `UPPER()` 和 `LOWER()`:将字符...

    ORACLE常用数值函数、转换函数、字符串函数介绍[文].pdf

    Oracle数据库系统提供了丰富的函数库,包括数值函数、转换函数和字符串函数,这些函数极大地丰富了SQL查询语言的功能,使得在处理数据时更加灵活和高效。下面将详细介绍这些函数的使用和示例。 **数值函数** 1. **...

    oracle常用函数总结

    以下是对标题和描述中提到的Oracle常用函数的详细总结: 1. ASCII 函数:这个函数返回一个字符对应的ASCII码,即十进制数字。例如,`ASCII('A')`返回65,`ASCII(' ')`返回32(空格的ASCII码)。 2. CHR 函数:与...

    Oracle常用单行函数

    字符函数主要用于处理字符串数据,包括: 1. `lower(char)`:将字符串中的所有字符转换为小写字母。 2. `upper(char)`:将字符串中的所有字符转换为大写字母。 3. `length(char)`:返回字符串的总字符数。 4. `...

    Oracle 数据库的常用函数列表一览

    1. **字符串函数**: - `CONCAT()`:连接两个或多个字符串。 - `SUBSTR()`:从字符串中提取子串。 - `INSTR()`:查找字符串中指定字符或子串的位置。 - `UPPER()` 和 `LOWER()`:将字符串转换为大写或小写。 - ...

Global site tag (gtag.js) - Google Analytics