第一节:字符串类型及函数

字符类型分 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)存储空间相对较小;

select length(userName) as charlength,length(password) as varchar2length from t_user3;

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

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

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

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

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

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

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

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

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

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

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

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

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

第二节:数值类型及函数

number 是 oracle 中的数据类型;number(precision,scale);

Precision,scale 均可选;
Precision 代表精度,sacle 代表小数位的位数;Precision 范围[1,38] scale 范围[-84,127]
举例: 12345.678 Precision 是 8 scale 是 3;
常用方法:
abs() 求绝对值;select abs(n1) from t_number where id=1;
round() 四舍五入:select round(n1,2) from t_number where id=1;
ceil() 向上取整:select ceil(n1) from t_number where id=2;
floor 向下取整:select floor(n1) from t_number where id=2;
Mod()取模:select mod(5,3) from dual;
Sign()正负性:select sign(n1) from t_number where id=1;
Sqrt() 求平方根:select sqrt(9) from dual;
Power()求乘方:select power(2,3) from dual;
Trunc()截取:select trunc(123.456,2) from dual;
To_char() 格式化数值:常见的字符匹配有 0、9、,、$、FM、L、C

0:前后自动补0,9:前面不补0,FM:去空格,L显示本地货币符号、$显示美元符号,C:显示为:123,123.45CNY
select to_char(123.45,'0000.000') from dual;
select to_char(123.45,'9999.999') from dual;
select to_char(123123,'99,999,999.99') from dual;
select to_char(123123.3,'FM99,999,999.99') from dual;
select to_char(123123.3,'$99,999,999.99') from dual;
select to_char(123123.3,'L99,999,999.99') from dual;
select to_char(123123.3,'99,999,999.99C') from dual;

第三节:日期类型及函数

select systimestamp from dual;
Add_months 添加月份 select add_months(d1,2) from t_date where id=1;
Last_day 返回指定日期月份的最后一天 select last_day(d1) from t_date where

id=1;
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;
Months_between 返回两个日期的相差月数 select months_between(d1,d3) from

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

where id=1;
Trunc 截取日期:
select trunc(d1,'YYYY') from t_date where id=1;
select trunc(d1,'MM') from t_date where id=1;
select trunc(d1,'DD') from t_date where id=1;
select trunc(d1,'HH') from t_date where id=1;
select trunc(d1,'MI') from t_date where id=1;
Extract 返回日期的某个域:
select extract(year from sysdate) from dual;
select extract(month from sysdate) from dual;
select extract(day from sysdate) from dual;
select extract(Hour from systimestamp) from dual;
select extract(minute from systimestamp) from dual;
select extract(second from systimestamp) from dual;
To_char 将日期转换成字符串:
select to_char(d1,'YYYY-MM-DD') from t_date where id=1;
select to_char(d1,'YYYY-MM-DD HH24:MI:SS') from t_date where id=1;

第四节:其他常用处理函数

常用的聚合函数:
Max 求最大值:select max(sal) from emp ;
Min 求最小值:select min(sal) from emp ;
Avg 求平均值:select avg(sal) from emp ;
Sum 求和:select sum(sal) from emp ;
Count 统计记录数:select count(ename) from emp ;
Nvl 空值处理:select ename,nvl(sal,0) from emp;
rownum
Oracle 分页:select * from (select a.*,rownum rn from (select * from emp) A

where rownum<=10) where rn>5; //根据行号来实现的分页
Oracle 中的运算:
select 2+1 from dual;
select 2-1 from dual;
select 2*1 from dual;
select 2/1 from dual;
条件判断式:
Between and 范围查询:
select * from emp where sal between 900 and 1500;
select * from emp where sal>=900 and sal<=1500;
In 集合范围:
select ename,hiredate from emp where ename in (select distinct ename from

bonus)
Like 模糊查询:
select * from emp where ename like '%M%'
select * from emp where ename like 'M%'
select * from emp where ename like '_M%'

oracle 数据类型及函数的更多相关文章

  1. Oracle数据类型,函数与存储过程

    字符串类型    固定长度:char nchar    n 表示Unicode编码    可变长度: varchar2 nvarchar2 数字类型:number(P,S)P:整数位数,S小数位数   ...

  2. Oracle 中 decode 函数用法

    Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译 ...

  3. oracle数据类型

    本文转自:http://blog.csdn.net/defonds/article/details/4302695 谢谢原文作者 有道是,磨刀不误砍柴工.多了解一些底层的东西,对于Oracle开发.维 ...

  4. oracle 数据类型详解---日期型(转载)

    oracle 数据类型详解---日期型 oracle数据类型看起来非常简单,但用起来会发现有许多知识点,本文是我对ORACLE日期数据类型的一些整理,都是开发入门资料,与大家分享: 注:由于INTER ...

  5. Oracle nvl(),nvl2()函数介绍

    NVL函数 Oracle/PLSQL中的一个函数. 格式为: NVL( string1, replace_with) 功能:如果string1为NULL,则NVL函数返回replace_with的值, ...

  6. Oracle之自定义函数

    数据库中函数包含四个部分:声明.返回值.函数体和异常处理. --没有参数的函数 create or replace function get_user return varchar2 is v_use ...

  7. ORACLE 常用字符函数

    ORACLE 常用字符函数1 ASCII(arg1)返回参数arg1的十进制数字表示.如果数据库设置为ASCII,则采用的是ASCII码字符.如果设置为EBCDIC,则采用的是EBCDIC字符 sel ...

  8. oracle的nvl函数的使用解析

    Oracle的Nvl函数 nvl( ) 函数 从两个表达式返回一个非null 值. 语法 NVL(eExpression1, eExpression2) 参数 eExpression1, eExpre ...

  9. ORACLE SQL单行函数(三)【weber出品必属精品】

    16.L:代表本地货币符,这个和区域有关.这个时候我们想来显示一下人民币的符号:¥ $ vi .bash_profile ---写入如下内容: export NLS_LANG='SIMPLIFIED ...

随机推荐

  1. Java ZIP压缩和解压缩文件(解决中文文件名乱码问题)

    Java ZIP压缩和解压缩文件(解决中文文件名乱码问题) 学习了:http://www.tuicool.com/articles/V7BBvy 引用原文: JDK中自带的ZipOutputStrea ...

  2. [React] How to use a setState Updater Function with a Reducer Pattern

    In this lesson we'll walk through setting up an updater function that can receive an action argument ...

  3. xml与json格式互转

    最近要整一些报文测试的事情,可当前项目的请求报文格式却不统一,有XML也有JSON,为了一致性,决定统一用JSON格式处理. xmltodict : Makes working with XML fe ...

  4. 软件測试、ios中的測试概念以及步骤

    软件測试: 软件測试的目标是应该服务于软件项目的目标,能够通过建议反馈使用更加高效的方法和工具,提升软件开发效率以及软件开发质量.同一时候还能够通过过一些手段,更早.更快.很多其它地发现缺陷.从容减少 ...

  5. Spring整合TimerTask实现定时任务调度

    一. 前言 近期在公司的项目中用到了定时任务, 本篇博文将会对TimerTask定时任务进行总结, 事实上TimerTask在实际项目中用的不多, 由于它不能在指定时间执行, 仅仅能让程序依照某一个频 ...

  6. 门面模式(Facade)

    一:定义 提供一个统一的接口代表子系统内部的一组接口.门面模式提供一个高层的接口,使得子系统更易于使用.   二:经验 2.1 window系统的软关机(不是直接断电)是一个过程, 它自己背后会做很多 ...

  7. 【DataStructure】The difference among methods addAll(),retainAll() and removeAll()

    In the Java collection framework, there are three similar methods, addAll(),retainAll() and removeAl ...

  8. linux下解决非本机访问出现的提示

    安装完毕之后发现无法用IP访问,出现以下提示 Access forbidden! New XAMPP security concept: Access to the requested directo ...

  9. 常用相关linux命令

    查看进程netstat -tnlp | egrep "(9097)" lsof -i:9097 ps -ef | grep kafka 观察句柄变化lsof -p $pid | w ...

  10. Redis的配置文件详解

    daemonize:如需要在后台运行,把该项的值改为yes pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址 bind:指定redis只接收来自该IP的请求,如 ...