`

oracle函数(一)——字符操作、数字操作、日期操作

阅读更多

 

一、函数                            (说明:本文中用到的表都是oracle提供的scott用户下的表)

    使用函数的目的是为了操作数据,将输入的变量处理,返回一个结果。变量可以有好多,传入的变量可以是列的值,也可以是表达式。

    函数可以嵌套。内层函数的结果是外层函数的变量。

    oracle函数可以分为当行函数和多行函数:

  单行函数:每一行都有一个返回值,但可以有多个变量。

  多行函数:多行有一个返回值。

 

二、单行函数的分类

  a.字符操作函数

  b.数字操作函数

  c.日期操作函数

  d.数据类型转换函数

  e.综合数据类型函数

 

三、字符操作函数

 

大小写操作函数:lower(小写), upper(大写), initcap(首字母大写)

字符串操作函数:concat, length, substr, instr, trim, replace, lpad, rpad

 

1.大小写操作函数:

select lower(ename), upper(ename),initcap(ename) from emp;
select lower('mf TR'),upper('mf TR'),initcap('mf TR') from dual;
//dual 是虚拟表

  输出:mf tr  MF TR  Mf Tr

2.concat函数:连接,将两个字符串连接到一起

select ename,job,concat(ename,job) from emp;

 

 注:oracle的concat()函数只支持两个参数,不支持两个以上字符串的拼接,如果要进行多个字符串的拼接的话,可以使用多个concat()函数嵌套使用。

例如:

select ename,job, concat(concat(ename,' _ '),job) from emp;

 

 除此之外,oracle中字符串的连接还可以使用连接符“||”,支持多个参数连接。

select '员工:' || ename || ',工作是:' || job from emp;

 3.length:字符串的长度

select length('张三') from dual;    //按照字
select lengthb('张三') from dual;    //按字节
select lengthc('张三') from dual;    //unicode的长度

 输出:2 , 4,  2。

4.substr:截取字符串。

substr(字符串,m,n),+m表示从左向右第m位开始,-m表示从右向左第m位开始(m大于0),n表示取几位。如果n没有值就是一直到字符串的结尾。

select ename,substr(ename,1,3) "first",substr(ename,-2)"last" from emp;

 输出:SMITH  SMI  TH

5.instr:查找子字符串在父字符串中的位置

instr(父字符串,子字符串):返回子字符在父字符串的位置。0表示没有在父串找到该子串。

select ename,instr(ename,'A') "A在第几位" from emp;

6.trim:截掉字符串

select trim(leading 'a' from 'aaabbabaa') from dual;
//截掉连续的前置的a
select trim(trailing 'a' from 'aaabbabaa') from dual;
//截掉连续的后置的a
select trim(both 'a' from 'aaabbabaa') from dual;
//截掉连续的前置和后置的a
select trim('a' from 'aaaabbbaa') from dual;
//如果没有说明是前置还是后置就是both全截掉

 注:trim函数是截掉头或尾连续的字符,一般我们的用途是去掉头和尾的空格。

7.lpad,rpad:左铺垫,右铺垫

select lpad(1232,6,'*'),rpad('aaccbbdd',6,'@') from dual;

 输出:**1232  aaccbb

6代表总共铺垫到多少位,* @ 是要铺垫的字符串。

注:lpad左铺垫,rpad右铺垫,一般用于美化输出结果。如果位数不足,按照截取后的结果显示,不报错。

8.replace:替换

replace(字符串,'A','B')将字符串中A字符替换为B

select replace(ename,'A','*') from emp;

 

四、数字操作函数

 

round(数字,n):四舍五入,n表示小数点后几位,0可以不写,表示取整,负数表示小数点前几位,下同

trunc(数字,n):全部舍弃

ceil(数字):取整,上进位

abs(数字):取绝对值

mod(数字A,数字B):取A除以B的余数

 

select round(45.923,2),round(45.923),round(45.234,-1) from dual;

 输出:45.92  46 50

select trunc(45.92333,2),trunc(45.92666,2),trunc(45.9247,-2) from dual;

 输出:45.92  45.92  0

select ceil(45.0002),ceil(45.666) from dual;

 输出:46  46

select abs(-23.00) from dual;

 输出:23

select mod(5,2) from dual;

输出:1 

 

五、日期操作函数

sysdate:当前数据库的日期

select sysdate from dual;

 重新设置时间显示格式

alter session set NLS_DATE_FROMAT='yyyy/mm/dd hh24:mi:ss';

 截取时间的年月日

select hiredate,trunc(hiredate,'yyyy'),trunc(hiredate,'year') from emp;

 

 注:数字的进位和截取是以小数点为中心,我们取小数点前或后的值,而日期的进位和截取是以年、月、日、时、分、秒为中心。

 

 

 

 

分享到:
评论

相关推荐

    oracle函数总结

    oracle函数总结——字符函数、数值函数、日期函数、转换函数、通用函数、事务处理等

    Oracle函数大全

    字符函数——返回字符值 字符函数——返回数字 数字函数 日期函数 转 换 函 数 分 组 函 数 其 他 函 数

    Oracle内置SQL函数-分类整理大全.doc

    Oracle内置SQL函数-分类整理大全 ---------------------------------------------------- ...F.2 字符函数——返回数字 3 F.3 数字函数 5 F.4 日期函数 7 F.5 转 换 函 数 8 F.6 分 组 函 数 11 F.7 其 他 函 数 12

    Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页

    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 ...

    oracle内置SQL函数分类整理

    Oracle内置SQL函数-分类整理大全 ...F.2字符函数——返回数字 F.3数字函数 F.4日期函数 F.5转 换 函 数 F.6分 组 函 数 F.7其 他 函 数 F.8 SQLPLUS常用命令 F.9 oracle客户端连接的文件配置: F.10修改表结构

    收集的ORACLE函数大全

    SQL中的单记录函数1.ASCII返回与指定的字符对应的十进制数;SQL> select ascii(‘A’) A,ascii(‘a’) a,ascii(‘0’) zero,ascii(‘ ‘) space from dual; A A ZERO SPACE——— ——— ——— ——...

    Direct Oracle Access v4.1.3 bcb6

    Direct Oracle Access 组件有两种版本,Direct Oracle Access Standard version 和 Direct Oracle Access Object version Object版允许你通过TOracleObject和TOracleReference 对象使用 Oracle8的对象扩展。 如果...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 常见的数据模型 1. 层次结构模型: 层次结构模型实质上是一种有根结点的定向有序树,IMS...

    Oracle关于时间/日期的操作

    在oracle中有很多关于日期的函数,如:  1、add_months()用于从一个日期值增加或减少一些月份  date_value:=add_months(date_value,number_of_months)  例:  SQL> select add_months(sysdate,12) “Next Year” ...

    oracle数据库11G初学者指南.Oracle.Database.11g,.A.Beginner's.Guide

    4.6 函数:字符串函数、数字函数和聚集函数(不是分组) 4.6.1 字符串函数 4.6.2 数字函数 4.6.3 聚集函数 4.7 日期函数(格式化的和按时间排列的) 4.7.1 日期函数 4.7.2 特殊格式的日期数据类型 4.7.3 嵌套函数 ...

    Oracle Database 11g初学者指南--详细书签版

    4.6 函数:字符串函数、数字函数和聚集函数(不是分组) 91 4.6.1 字符串函数 91 4.6.2 数字函数 92 4.6.3 聚集函数 92 4.7 日期函数(格式化的和按时间排列的) 93 4.7.1 日期函数 93 4.7.2 特殊格式的日期数据...

    Oracle 多行记录合并/连接/聚合字符串的几种方法

    COUNTRY CITY ——————– ——————– 中国 台北 中国 香港 中国 上海 日本 东京 日本 大阪 要求得到如下结果集: ——- ——————– 中国 台北,香港,上海 日本 东京,大阪 实际就是对字符实现一个聚合...

    oracle迁移达梦常见问题汇总

    本文主要结合之前一次oracle迁移达梦的项目,将碰到的问题以及一系列踩过的坑列举出来供大家参考,数据库版本是达梦7。(本文中涉及到的部分对象名已用sch1,tab1等方式替换) 1、整体情况 迁移过程中失败任务数低于5%...

    操作Oracle的php类

    用】: Oracle公用函数类 // 【作 者】: 天灰 // // 【最后修改日期】: 2001/05/11[cxx] // 【变量定义规则】:‘C_’=字符型,‘I_’=整型,‘N_’=数字型,‘L_’=布尔型,‘A_’=数组型 //

    ORACLE 常用函数总结(80个)第1/2页

    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 ...

    Oracle to_char 日期转换字符串语句分享

    —————————— 2007-06-29 02:50:06 下午 2》以24小时制显示 SQL> select to_char(sysdate,’YYYY-MM-DD HH24:MI:SS AM’)from dual; TO_CHAR(SYSDATE,’YYYY-MM-DDHH2 —————————— 2007-06-29...

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

     Oracle 数据库中的SQL是当今市场上功能最强大的SQL实现之一,而本书全面展示了这一工具的威力。如何才能让更多人有效地学习和掌握SQL呢?Karen Morton及其团队在本书中提供了专业的方案:先掌握语言特性,再学习...

    oracle数据库笔记

    5.统计函数——列名应指定别名 35 6. Group By分组 36 7.Having子句 36 8.练习:表的查询 36 五. 在SQL *Plus中使用函数 37 1.字符串函数 37 2.数字函数 37 3.日期时间函数 38 4.转换函数 38 第五讲 修改SQL数据与...

    oracle实验报告

    二、 数据库命令——有关表、视图等的操作 1. 创建表employee 例1 定义一个人事信息管理系统中存放职工基本信息的一张表。可输入如下命令: SQL>CREATE TABLE employee (empno number(6) PRIMARY KEY, /* 职工编号...

Global site tag (gtag.js) - Google Analytics