ORACLE PL/SQL 字符串函数、数学函数、日期函数

ORACLE PL/SQL 字符串函数、数学函数、日期函数
--【字符串函数】
--字符串截取substr(字段名,起始点,个数)
select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3),substr(Name,-2,1) from t1; 

--字符串从前面取三个(0开始)
select Name,substr(Name,0,3) from t1;
--字符串从后面取三个
select Name,substr(Name,-3,3),length(Name) 串长度 from t1; 

SELECT ASCII(‘A‘),ASCII(‘B‘) from dual; 

select CHR(100),CHR(80) from dual; 

select CONCAT(CHR(65),CONCAT(CHR(67),CHR(98))) from dual; 

select CHR(65)||CHR(66)||CHR(76) from dual; 

--将每个单词的第一个字母大写其它字母小写返回。
select INITCAP(‘substr,abc,substring‘) from dual;
--返回i在MISSISSIPPI中第3次出现的位置,
select INSTR(‘Mississippi‘,‘i‘,5,3) from dual;
select INSTR(‘Mississippi‘,‘i‘,-2,3) from dual;
--返回的是字节
select INSTRB(‘Mississippi‘,‘i‘,5,3) from dual;
select INSTRB(‘Mississippi‘,‘i‘,-2,3) from dual;
--长度
select length(‘WHO ARE YOU‘) from dual;
select nvl(null,‘空‘) from dual;
--小写
select lower(‘WHo are You‘) from dual;
--LPAD左侧用字符串补足到一定长度
select LPAD(‘DFSDf................‘,9,‘WHO‘) from dual;
select LPAD(‘DFSD‘,9,‘WHO‘) from dual;
select LPAD(‘DFSD‘,9,‘‘) from dual;
select LPAD(‘DFSD‘,length(‘DFSD‘)+length(‘WHO......‘),‘WHO......‘) from dual;
--把最左边的字符去掉,使其第一个字符不在其中
select ltrim(‘Mississippi‘,‘Mis‘) from dual;
select ltrim(‘Mississippi‘,‘miD‘) from dual;
--RPAD右侧用字符串补足到一定长度
select RPAD(‘DFSDf................‘,9,‘WHO‘) from dual;
select RPAD(‘DFSD‘,9,‘WHO‘) from dual;
select RPAD(‘DFSD‘,9,‘‘) from dual;
select RPAD(‘DFSD‘,length(‘DFSD‘)+length(‘WHO......‘),‘WHO......‘) from dual;
--把最右边的字符去掉,使其第一个字符不在其中
select Rtrim(‘Mississippi‘,‘Mis‘) from dual;
select Rtrim(‘Mississippi‘,‘miD‘) from dual;
--替换
select REPLACE(‘uptown‘,‘up‘,‘down‘) from dual;
--substr和substrb
select SUBSTR(‘Message‘,1,4) from dual;
select SUBSTR(‘ABCDEFG‘,5) from dual;
select substrb(‘国际劳动节国营农场‘,5) from dual;
select substrb(‘国际劳动节国营农场‘,2) from dual;
select substrb(‘国际劳动节国营农场‘,4,8) from dual;
select substrb(‘国际劳动节国营农场‘,3,8) from dual;
--发音
select SOUNDEX(‘dawes‘) Dawes,SOUNDEX(‘daws‘) Daws, SOUNDEX(‘dawson‘) from dual;
--translate
select TRANSLATE(‘ABCDefghijklmn‘,‘eg‘,‘替代‘) test from dual; 

select TRIM(‘ Space padded   0..o0..  ‘) trim from dual; 

select UPPER(‘abDCCfasdfsdafasdf‘) from dual; 

--【数学函数】所有函数都有数字参数并返回数字值。所有三角函数的操作数和值都是弧度而不是角度,
--oracle没有提供内建的弧度和角度的转换函数。
select abs(-10.234) from dual;
select acos(-1),acos(1) from dual;
select asin(1),asin(0) from dual;
select atan(1),atan(-1) from dual;
select ceil(-2),ceil(5.1) from dual;
select cos(-1) from dual;
select cosh(1) from dual;
select exp(3),exp(2),exp(1) from dual;
select Floor(-3.2),floor(5.91) from dual;
select LN(2) from dual;
select Log(10,2),log(2,10),log(10,1000) from dual;
select MOD(19,3),MOD(20,3),MOD(21,3) from dual;
select POWER(3,4),POWER(4,2) from dual;
select ROUND(12345,-2),ROUND(12345.54321,2),ROUND(-234234.9800234) FROM dual;
select SIGN(-10),SIGN(0),SIGN(1000) from dual;
select sin(1.57) from dual;
select sinh(2.34) from dual;
select SQRT(2),sqrt(3) from dual;
select TAN(1.2) from dual;
select TANH(2.32) from dual;
select trunc(2.2342342,5),trunc(2.3234234) from dual; 

--【日期函数】操作DATE数据类型,绝大多数都有DATE数据类型的参数
--增加月
select sysdate,Add_MONTHS(sysdate,1),
Add_MONTHS(TO_Date(‘2008-05-31 18:18:18‘,‘yyyy-MM-dd HH24:MI:SS‘),1),
Add_MONTHS(TO_Date(‘2008-05-31 18:18:18‘,‘yyyy-MM-dd HH24:MI:SS‘),2)
from dual;
--每月最后一天 只区别了日期, 时间没有区别
select Last_day(sysdate) from dual;
--如果d1和d2的日的日期都相同,或者都使该月的最后一天,那么将返回一个整数,否则会返回的结果将 

包含一个分数。
select MONTHS_BETWEEN(sysdate,To_Date(‘2008-05-31 14:40:00‘,‘yyyy-MM-dd HH24:MI:SS‘)) from 

dual; 

select NEW_TIME(sysdate,‘GMT‘,‘PST‘) from dual; 

select NEXT_DAY(To_Date(‘2007-06-04‘,‘yyyy-MM-dd‘),‘Monday‘) "1st Monday"
from dual; 

select ROUND(sysDate,‘yyyy‘),ROUND(sysDate,‘mm‘),ROUND(sysdate,‘dd‘),
        ROUND(sysdate,‘HH24‘),ROUND(sysDate,‘MI‘)
from dual;
select sysdate from dual; 

select trunc(sysdate),trunc(sysdate,‘HH24‘),trunc(sysdate,‘MI‘) from dual; 
时间: 2024-10-12 13:27:50

ORACLE PL/SQL 字符串函数、数学函数、日期函数的相关文章

oracle pl/sql 程序设计 历史笔记整理

20131016 周三 oracle pl/sql 程序设计 第2章 创建并运行pl/sql代码 sqlplus yjkhecc/[email protected]:1521/orcl 在java中调用存储过程: create or replace procedure t_p(l_in in out number) is begin l_in := 5; end; @Test public void test() throws SQLException { DataSource ds = Dat

ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)

原文:ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!) ORACLE PL/SQL编程之六: 把过程与函数说透(穷追猛打,把根儿都拔起!)   继上篇:ORACLE PL/SQL编程之八:把触发器说透 得到了大家的强力支持,感谢.接下来再下猛药,介绍下一篇,大家一定要支持与推荐呀~!我也才有动力写后面的.   本篇主要内容如下: 6.1 引言 6.2 创建函数 6.3 存储过程 6.3.1 创建过程 6.3.2 调用存储过程 6.3.3 AUTHID 6.3.4 

语句、聚合函数、数学函数、字符串函数、时间日期函数

  --添加列 alter table shuiguo add price decimal(18,2) --删除列 alter table shuiguo drop column price --更改数据库的名称,逗号前面是之前的,逗号后是要改成的名字 sp_renamedb student,xuesheng 更改数据库的名称 表中有数据的情况下再添加列.删除列 语句示例 --查询所有数据 select * from xuesheng --查询开头是王的所有数据 select * from xu

数据库基础(字符串函数、时间日期函数、数据类型转换、函数转换)

字符串函数: 时间日期函数: 数据转换.函数转换: 练习:查看名字,生日

[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)

原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [顶]ORACLE PL/SQL编程详解之二: PL/SQL块结构和组成元素(为山九仞,岂一日之功) 继上四篇:ORACLE PL/SQL编程之八:把触发器说透                ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)                [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) [推荐]

ORACLE PL/SQL编程详解

ORACLE PL/SQL编程详解 编程详解 SQL语言只是访问.操作数据库的语言,并不是一种具有流程控制的程序设计语言,而只有程序设计语言才能用于应用软件的开发.PL /SQL是一种高级数据库程序设计语言,该语言专门用于在各种环境下对ORACLE数据库进行访问.由于该语言集成于数据库服务器中,所以PL/SQL代码可以对数据进行快速高效的处理.除此之外,可以在ORACLE数据库的某些客户端工具中,使用PL/SQL语言也是该语言的一个特点.本章的主要内容是讨论引入PL/SQL语言的必要性和该语言的

(六)PL/SQL字符串

PL/SQL字符串实际上是一个可选的尺寸规格字符序列.字符可以是数字,字母,空白,特殊字符或全部的组合. PL/SQL提供了三种类型的字符串:  固定长度字符串:在这样的字符串,程序员指定的长度,同时声明该字符串.该字符串是右填充空格以达到指定的长度.  变长字符串:在这样的字符串,最大长度可达32,767,为字符串指定,并不需要填充.  字符大对象(CLOB) :这是可变长度的字符串,可以达到128兆兆字节. PL/ SQL字符串可以是变量或字面值.字符串文字被引号围在内部.例如:'This

Oracle PL/SQL随堂笔记总结

1.pl/sql编程 1.理解oracle的pl/sql的概念    2.掌握pl/sql编程技术(过程.函数.触发器)    pl/sql是标准sql语句的扩展    简介        1.过程.函数.触发器都是由pl/sql编写        2.过程.函数.触发器是在oracle中        3.pl/sql是非常强大的过程语言        4.过程.函数等可以在java程序被调用    学习必要性:        1.提高应用程序的性能        2.模块化的设计思想    

[推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)

原文:[推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) [推荐]ORACLE PL/SQL编程之四: 把游标说透(不怕做不到,只怕想不到) 继上两篇:ORACLE PL/SQL编程之八:把触发器说透 ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!) 得到了大家的强力支持,感谢.接下来再下猛药,介绍下一篇,大家一定要支持与推荐呀~!我也才有动力写后面的. 本篇主要内容如下: 4.1 游标概念 4.1.1 处理显式游标 4.1.2 处理