`

oracle中数据类型及函数

阅读更多
1. 字符串类型及函数
------------------------------
create table t_user3(
  id number,
  username char(20),
  password varchar2(20),
  stuno varchar2(20)
);
insert into t_user3 (id, useramne, password, stuno) values (1, 'user1001            ', '123456', '110');
------------------------------

字符类型分3种:char(n) varchar(n) varchar2(n);
    char(n)固定长度字符串,假如长度不足n,右边空格补齐;
    varchar(n)可变长度字符串,假如长度不足n,右边不会补齐;
    varchar2(n)可变长度字符串,Oracle官方推荐使用,向后兼容性好;
char(n) VS varchar2(n)
    char(n)查询效率相对较高,varchar2(n)存储空间相对较小;
SQL> select length(userName) as charlength,length(password) as varchar2length from t_user3;

lpad() 向左补全字符串
SQL> select lpad(stuno,6,'0') from t_user3;

rpad() 向右补全字符串
SQL> select rpad(stuno,6,'0') from t_user3;

lower() 返回字符串小写
SQL> select lower(userName) from t_user3;

upper() 返回字符串大写
SQL> select upper(userName) from t_user3;

initcap() 单词首字符大写
SQL> select initcap(userName) from t_user3;

length() 返回字符串长度
SQL> select length(password) from t_user3;

substr() 截取字符串
SQL> select substr(userName,1,2) from t_user3;

instr() 获取字符串出现的位置
SQL> select instr(password,'23') from t_user3;
SQL> select instr(password,'23',2) from t_user3;
SQL> select instr(password,'23',2,1) from t_user3;

ltrim() 删除左侧空格
SQL> select ltrim(userName) from t_user3;

rtrim() 删除右侧空格
SQL> select rtrim(userName) from t_user3;

trim() 删除两侧空格
SQL> select trim(userName) from t_user3;

concat() 串联字符串
SQL> select concat(userName,password) from t_user3;

reverse() 反转字符串
SQL> select reverse(userName) from t_user3;


2. 数值类型及函数
------------------------------
create table t_number(
  id number,
  n1 number(7,3),
  n2 number(5,-3)
);
insert into t_number(id,n1,n2) values (1, -123.456, 0);
insert into t_number(id,n1,n2) values (2, 23.4564, 0);
insert into t_number(id,n1,n2) values (3, 23.4564, 123456);
insert into t_number(id,n1,n2) values (4, 23.4564, 123789);
insert into t_number(id,n1,n2) values (5, 23.4567, 123789);
insert into t_number(id,n1,n2) values (6, 23.4564, 123789);
------------------------------

number是oracle中的数据类型: number(precision,scale);
precision,scale均可选;
precision代表精度,sacle代表小数位的位数;
precision 范围[1,38] scale 范围[-84,127];
举例:12345.678中precision是8;scale是3;

abs() 求绝对值
SQL> select abs(n1) from t_number;

round() 四舍五入
SQL> select round(n1,2) from t_number where id=1;

ceil() 向上取整
SQL> select ceil(n1) from t_number where id=2;

floor 向下取整
SQL> select floor(n1) from t_number where id=2;

mod()取模
SQL> select mod(5,3) from dual;

sign()正负性
SQL> select sign(n1) from t_number where id=1;

sqrt()求平方根
SQL> select sqrt(9) from dual;

power()求乘方
SQL> select power(2,3) from dual;

trunc()截取
SQL> select trunc(123.456,2) from dual;

to_char() 格式化数值
常见的字符匹配有 0、9、,、$、FM、L、C
SQL> select to_char(123.45,'0000.000') from dual;
SQL> select to_char(123.45,'9999.999') from dual;
SQL> select to_char(123123,'99,999,999.99') from dual;
SQL> select to_char(123123.3,'FM99,999,999.99') from dual;
SQL> select to_char(123123.3,'$99,999,999.99') from dual;
SQL> select to_char(123123.3,'L99,999,999.99') from dual;
SQL> select to_char(123123.3,'99,999,999.99C') from dual;


3. 日期类型及函数
------------------------------
create table t_date(
  id number,
  d1 date,
  d2 timestamp(6)
);
insert into t_date values(1,sysdate,systimestamp);

alter table t_date add(d3 date);???
update t_date set d3=to_date('2016-12-20','YYYY-MM-DD') where id=1;
update t_date set d3=to_date('2016-12-20 18:31:34','YYYY-MM-DD HH24:MI:SS') where id=1;
------------------------------

date和timestamp(时间戳)
date包含信息century(世纪信息) year年 month月 day日 hour小时 minute分钟 second秒
timestamp一般用于日期时间要求非常精确的情况,精确到毫秒级;

date类型的常用函数:
SQL> select sysdate from dual;
SQL> select systimestamp from dual;

add_months添加月份
SQL> select add_months(d1,2) from t_date where id=1;

last_day返回指定日期月份的最后一天
SQL> select last_day(d1) from t_date where id=1;

months_between返回两个日期的相差月数
SQL> select months_between(d1,d3) from t_date where id=1;

next_day返回特定日期之后的一周内的日期
SQL> select next_day(d1,2) from t_date where id=1;

trunc截取日期
SQL> select trunc(d1,'YYYY') from t_date where id=1;
SQL> select trunc(d1,'MM') from t_date where id=1;
SQL> select trunc(d1,'DD') from t_date where id=1;
SQL> select trunc(d1,'HH') from t_date where id=1;
SQL> select trunc(d1,'MI') from t_date where id=1;

extract返回日期的某个域
SQL> select extract(year from sysdate) from dual;
SQL> select extract(month from sysdate) from dual;
SQL> select extract(day from sysdate) from dual;
SQL> select extract(hour from systimestamp) from dual;
SQL> select extract(minute from systimestamp) from dual;
SQL> select extract(second from systimestamp) from dual;

to_char将日期转换成字符串
SQL> select to_char(d1,'YYYY-MM-DD') from t_date where id=1;
SQL> select to_char(d1,'YYYY-MM-DD HH24:MI:SS') from t_date where id=1;


4. 其他常用处理函数
max求最大值
SQL> select max(sal) from emp;

min求最小值
SQL> select min(sal) from emp;

avg求平均值
SQL> select avg(sal) from emp;

sum求和
SQL> select sum(sal) from emp;

count统计记录数
SQL> select count(ename) from emp;

nvl空值处理
SQL> select ename,nvl(sal,0) from emp;

rownum行号
SQL> select e.*, rownum from emp e;

oracle分页
SQL> select * from (select a.*,rownum rn from (select * from emp) A where rownum<=10) where rn>5;

oracle中的运算
SQL> select 2+1 from dual;
SQL> select 2-1 from dual;
SQL> select 2*1 from dual;
SQL> select 2/1 from dual;

条件判断式
between and范围查询
SQL> select * from emp where sal between 900 and 1500;
SQL> select * from emp where sal>=900 and sal<=1500;

in集合范围
SQL> select ename,hiredate from emp where ename in (select distinct ename from bonus);

like模糊查询
SQL> select * from emp where ename like '%M%';
SQL> select * from emp where ename like 'M%';
SQL> select * from emp where ename like '_M%';
分享到:
评论

相关推荐

    oracle数据类型及函数

    在Oracle中,数据类型用于定义字段可以存储的数据种类,而函数则帮助我们对数据进行各种操作。以下是对这些概念的详细说明: 1. **Oracle 数据类型**: - **字符型**: - `CHAR(n)`:定长字符串,长度为n个字节,...

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

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

    oracle(数据类型函数).

    里面有详细的oracle函数 1、Oracle数据类型 2、Oracle函数分为单行函数和多行函数两大类(sql_function) 单行函数分类 字符函数 数值函数 日期函数 转换函数 通用函数 函数嵌套 分组函数:集合操作符(了解) 实现...

    v512工作室_张利国_Java高端培训系列教材_Oracle实用教程_04章_Oracle数据类型和函数.

    在深入了解Oracle数据库中的各种数据类型之前,我们首先需要明确数据类型的基本概念。数据类型是由一组具有相同特性的值及其上定义的操作组成的一个集合。在现实世界中,为了有效地保存和处理不同类型的信息,我们...

    Oracle中实现Split函数功能

    在实际应用中,Oracle 中实现 Split 函数功能可以用于各种数据处理场景,例如数据清洁、数据转换和数据分析等。例如,在数据清洁中,我们可以使用这个函数来拆分字符串,以便更好地处理和分析数据。在数据转换中,...

    Oracle基本数据类型存储格式浅析

    Oracle数据库中,数据类型的存储格式对于数据库的性能和空间利用率至关重要。本文将深入探讨Oracle的字符类型、数字类型、日期类型、ROWID类型和RAW类型的基本数据类型的存储机制。 首先,让我们聚焦于字符类型。在...

    Oracle数据库空间数据类型和空间函数扩展实现.pdf

    在Oracle数据库中,用户可以根据需要定义自己的空间数据类型和空间函数,这些自定义类型和函数可以用来描述和操作特定的空间对象。例如,用户可以定义一个自定义的空间数据类型来描述道路的几何形状和拓扑关系,然后...

    oracle常用函数和类型

    在Oracle中,数据类型是定义变量、列或者常量的格式,而函数则是执行特定任务的预定义过程。 首先,让我们来看看Oracle中的常用数据类型: 1. NUMBER:这是Oracle中最通用的数字类型,可以存储整数和浮点数,允许...

    SqlServer,Oracle数据类型,函数,导入导出对照

    标题和描述均聚焦于SQL Server与Oracle数据库管理系统中数据类型、函数以及导入导出操作的对比,这为我们提供了一个深入探讨这两个广泛使用的数据库平台之间差异的机会。以下是对这些知识点的详细解析: ### 数据...

    Oracle实用教程_04章_Oracle数据类型和函数[整理].pdf

    Oracle 数据类型和函数 Oracle 数据类型是指一组性质相同的值的集合以及定义于这个值集合上的一组操作的总称。在 Oracle 数据库中,数据类型可以分为字符型、数值型、日期型和其它类型等几类。 Oracle 数据类型...

    Oracle中trunc()函数用法处理日期、数字类型数据

    Oracle 中的 TRUNC 函数用法处理日期、数字类型数据 TRUNC 函数是 Oracle 中的一个重要函数,它可以用来截断日期和数字类型的数据。下面我们将详细介绍 TRUNC 函数的用法和特点。 一、日期 TRUNC 函数 TRUNC 函数...

    Oracle实用教程_04章_Oracle数据类型和函数.pdf

    本章主要介绍了Oracle中的数据类型和函数,这对于理解和操作Oracle数据库至关重要。 首先,我们来看Oracle的基本数据类型,这些类型包括字符型、数值型、日期型和其他类型。字符型数据类型主要用于存储文本信息,...

    学习Oracle实用教程04章Oracle数据类型和函数.pdf

    在学习Oracle时,理解并掌握数据类型和函数是至关重要的基础。本章主要探讨Oracle中的数据类型,包括概述、字符数据类型、数值数据类型、日期类型以及其他特殊类型。 4.1.1 数据类型的概述 数据类型是数据库中用于...

    oracle 函数大全 参考函数 手册 速查 chm格式

    4. 转换函数:如TO_CHAR(字符串转换为日期或数字)、TO_DATE(日期转换为字符串)等,实现不同数据类型间的转换。 5. 条件函数:如IFNULL(如果为空则替换)、NVL(空值替换)、DECODE(根据条件返回值)等,处理...

    sqlserver-oracle 数据类型对照

    - `bit`在SQL Server中没有直接对应的Oracle数据类型,但可以近似用单字节的`NUMBER(1)`表示。 - `datetime`和`smalldatetime`在SQL Server中对应Oracle的`DATE`,表示日期和时间。 - `decimal`和`numeric`在SQL ...

    ORACLE操作XML函数

    在Oracle数据库中,`XMLTYPE`是一种专门用于存储XML数据的数据类型。通过使用`XMLTYPE`字段,可以有效地管理和查询XML文档。其中,`XPath_string`是用于指定在XML文档中查找或操作节点的路径表达式。 - **XMLTYPE_...

    Oracle中实现datadiff函数

    这是因为Oracle中的日期函数通常接受日期类型作为输入参数,而实际应用中可能需要处理的是字符串格式的日期数据。 ##### CDate 函数 ``` CREATE OR REPLACE FUNCTION CDate (dateChar IN VARCHAR2) RETURN DATE IS...

    ORACLE CRC32函数

    在Oracle数据库中,`CRC32`函数是一种非常实用的功能,主要用于将字符类型的数据转换为一个唯一的数字类型,这一过程通常被称为散列(Hash)。通过该函数,可以方便地生成针对特定字符串的固定长度的数字签名,这...

    oracle函数分类.rar

    **转换函数**包括`TO_NUMBER`、`TO_CHAR`和`TO_DATE`,它们允许我们根据需要在不同数据类型之间进行转换。例如,`TO_NUMBER`将字符串转换为数字,`TO_DATE`将字符串转换为日期格式,而`TO_CHAR`则将日期或数字转换为...

Global site tag (gtag.js) - Google Analytics