文档章节

PLSQL 常用函数

姐夫
 姐夫
发布于 2012/09/24 08:46
字数 1017
阅读 163
收藏 4
--类型转换
--TO_CHAR(date, format):   根据format重新格式日期date的格式(转换日期格式到字符串)
--TO_DATE(char, format):   按照指定的format格式将字符串转换为oracle的日期型
--TO_NUMBER(char):         将给出的数字子串转换为数字

SELECT to_char(SYSDATE, 'dd-mm-yyyy') FROM dual;
SELECT to_date('22-09-2012', 'dd-mm-yyyy') FROM dual;
SELECT to_number('22092012') FROM dual;
;


--日期处理
--add_months(date,count)          返回日期date上加上count个月后的结果
--greatest(date1,date2,..)        从日期列表中选出最晚的日期
--least(date1,date2,..)           从日期列表中选出最早的日期
--last_day(date)                  返回日期date所在的月的最后一天
--months_between(date2,date1)     给出date2-date1的月数,以小数计算
--next_day(date, day)             给出日期date之后下一天的日期,这里的day为星期   字符集有关 1 或者 星期一 与字符集有关
--trunc(date,format)              按照给出的要求格式将日期截断,未指定format时,将日期截为12PM  精准到 对应formate 其他用 1 填充
                                --小数截取位数                                                                      
--SYSDATE                         用来得到系统的当前日期


SELECT SYSDATE FROM dual;
SELECT add_months(to_date('22-09-2012', 'dd-mm-yyyy'),1) FROM dual;
SELECT greatest(to_date('22-09-2012', 'dd-mm-yyyy'),to_date('23-09-2012', 'dd-mm-yyyy')) FROM dual;
SELECT least(to_date('22-09-2012', 'dd-mm-yyyy'),to_date('23-09-2012', 'dd-mm-yyyy')) FROM dual;
SELECT last_day(to_date('22-10-2012', 'dd-mm-yyyy')) FROM dual;
SELECT months_between(to_date('24-02-2012', 'dd-mm-yyyy'),to_date('25-01-2012', 'dd-mm-yyyy')) FROM dual;
SELECT next_day(to_date('22-10-2012', 'dd-mm-yyyy'),1) FROM dual;

SELECT trunc(to_date('22-10-2012', 'dd-mm-yyyy'),'mm') FROM dual;

SELECT EXTRACT(YEAR FROM (to_date('22-10-2012', 'dd-mm-yyyy'))) FROM dual;

SELECT EXTRACT(YEAR FROM DATE'2012-10-22') FROM dual;


SELECT trunc(23.1293,2) FROM dual;
SELECT ROUND(to_date('01-07-2012', 'dd-mm-yyyy'),'yy') FROM dual;
;

--字符串处理
--initcap(string)                                返回字符串并将字符串的每一个单词的字母大写
--lower(string)                                  将字符串string所有字符变为小写
--upper(string)                                  将字符串string所有字符变为大写
--length(string)                                 返回字符串string的长度
--ltrim(string,set)                              返回删除从左边算起的出现在字符串set中的字符string
--rtrim(string,set)                              返回删除从右边算起的出现在字符串set中的字符string
--replace(string, searchstring, repstring)       返回用repstring替换所有在string中出现的searchstring后的字符串string
--instr (string1, string2)                       以整数形式返回string1在string2中第一次出现的位置 从1开始
--substr (string, m, n)                          返回在string中从位置m开始,有n个字符长的string的一部分
--concat(string1, string2)                       用于将string1和string2连接起来,作用和||相似,但只能连接2个字符串,||可连接多个
;

SELECT initcap('i am jeff') FROM dual;
SELECT lower('I AM JEFF') FROM dual;
SELECT upper('i am jeff') FROM dual;
SELECT length('i am jeff') FROM dual;
SELECT ltrim('i am jeff','i') FROM dual;
SELECT rtrim('i am jeff','i') FROM dual;
SELECT trim(' i am jeff ') FROM dual;
select trim (both from ' DWEYE ')FROM dual;
select trim (TRAILING from ' DWEYE ')FROM dual;
select trim (LEADING from ' DWEYE ')FROM dual;
SELECT replace('i am jeff','f','a') FROM dual;
SELECT instr('i am je jeff','jeff') FROM dual; 
SELECT substr('iamjejeff','2','3') FROM dual; 
SELECT concat('i am','jeff') FROM dual; 


--数字处理
--ceil(n) 用于返回大于或等于给出数字n的最小整数
--floor(n) 用于返回小于或等于给出数字n的最大整数
--round(m,n) 用于返回四舍五入到指定n位小数m的值
--trunc(m,n) 用于返回裁剪到位置n位小数的m的值
--mod(m,n) 用于返回m和n两数的余数值(求模)
--power(m,n) 用于返回m的n次方
--sqrt(n) 用于返回数字n的平方根
--sign(n) 根据数字n的值决定返回值,n大于0返回1;n小于0返回-1;n等于0返回0

;
SELECT ceil(2.01) FROM dual; 
SELECT floor(2.01) FROM dual; 
SELECT round(2.11,1) FROM dual; 
SELECT trunc(2.11,1) FROM dual; 
SELECT mod(2.01,2) FROM dual; 
SELECT power(3,2) FROM dual; 
SELECT sqrt(2) FROM dual; 
SELECT sign(-1) FROM dual; 


--NVL
--NVL(c1,c2)       IF c1 is null THEN c2 ELSE c1 END
--NVL2(c1,c2,c3)  如果c1非空则返回c2,如果c1为空则返回c3
--NULLIF(c1,c2)   于CASE WHEN c1 = c2 THEN NULL ELSE c1 END

;
SELECT NVL(NULL,'2') FROM dual; 
SELECT NVL2('a','1','2') FROM dual; 
SELECT NULLIF('2','2') FROM dual; 

--decode
--DECODE(value, search_value, result, default_value)

--聚合函数
--AVG MIN MAX SUM COUNT

© 著作权归作者所有

姐夫
粉丝 49
博文 34
码字总数 8509
作品 0
浦东
程序员
私信 提问
Num44 oracle(子查询两道题:PLSQL,光标,例外,存储过程,存储函数,触发器,)

子查询两道题: PLSQL基本语法 & PLSQL光标 & PLSQL例外: PLSQL实例: 存储过程和存储函数: java调用存储过程和存储函数: 触发器:

萧小蚁
2016/05/10
37
0
如何在PLSQL中调试PACKAGE包中的FUNCTION函数

如何在PLSQL中调试PACKAGE包中的FUNCTION函数 Oracle中的packages包是一组包含procedures存储过程、functions函数和游标等元素的组合。相比Sybase数据库的SQL Advantage工具,Oracle数据库的...

yl497103815
2018/07/02
0
0
WITH 语句的改善

在 12c 中,你可以用 SQL 更快的运行 PL/SQL 函数或过程,这些是由 SQL 语句的 WITH语句加以定义和声明的。如何在 WITH 语句中定义和声明一个过程或函数:WITH PROCEDURE|FUNCTION test1 (…...

whshurk
2018/01/03
0
0
PLSQL developer的版本控制

下面简单介绍下PLSQL developer工具的SVN版本控制 1, 下载pl/sql-svn插件。 2, 关闭你打开的所有pl/sql窗口。 3,将插件里的SVN_Plugin.dll文件复制到PLSQL DeveloperPlugIns目录下。 4,重...

zxf261
2012/05/14
0
0
使用Excel批量给数据添加单引号和逗号

在使用PLSQL连接oracle数据库处理数据的过程中,常用的操作是通过ID查询出数据,ID需要附上单引号,如果查询的ID为一条或者几条,我们手动添加即可,但是如果是几百条、几千条的话,就需要使...

EDIAGD
2015/01/13
4.6K
0

没有更多内容

加载失败,请刷新页面

加载更多

高速PCB设计软件allegro中与网络有关的约束规则设置

在allegro pcb的设计过程中,设计约束规则包括时序规则、间距规则、信号完整性规则以及物理规则等,本期主要详细讲解与物理、间距与电气约束中的线宽、线间距物理规则的设置。 一、线宽设置 ...

demyar
6分钟前
1
0
Linux 启动停止SpringBoot jar 程序部署Shell 脚本

#!/bin/bash #这里可替换为你自己的执行程序,其他代码无需更改 APP_NAME=algorithm.jar #使用说明,用来提示输入参数 usage() { echo "Usage: sh 执行脚本.sh [start|stop|restart|status]...

草庐过客
8分钟前
2
0
mysql-connector-java驱动升级到8.0后数据库保存时间出现时差

1.问题:在一个新项目中用到了新版的mysql jdbc 驱动后,发现保存到数据库的时间出现了时差 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId>......

ValSong
9分钟前
2
0
好程序员大数据教程Scala系列之隐式转换和隐式参数

5.1. 概念 隐式转换和隐式参数是Scala中两个非常强大的功能,利用隐式转换和隐式参数,你可以提供优雅的类库,对类库的使用者隐匿掉那些枯燥乏味的细节。 5.2. 作用 隐式的对类的方法进行增强...

好程序员官网
13分钟前
1
0
多线程必备

初次接触线程,可能有很多初学者搞不明白,始终云里雾里,那么本篇文章直接带大家介绍多线程必须知道的几个点 接下来没有多余,直接上干货 1. 进程和线程的区别是什么? 进程是执行着的应用程序,...

理性思考
16分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部