- 浏览: 45555 次
- 性别:
- 来自: 大连
最新评论
一、字符函数
介绍:字符函数是Oracle中最常用的函数,我们来看看有哪些字符函数。
1、lower(char):将字符串转化为小写格式。
案例:将所有员工的名字按小写的方式显示
sql>select lower(ename) from emp;
2、upper(char):将字符串转化为大写的格式
案例:将所有员工的名字按大写的方式显示
sql>select upper(ename) from emp;
3、length(char):返回字符串长度
案例:显示正好为5个字符的员工的姓名
sql>select * from emp where length(ename)=5;
4、substr(char,m,n):取字符串的子串,其中m代表从第几个开始取,n代表取几个字符。
案例:显示所有员工的姓名的前三个字符。
sql>select substr(ename,1,3) from emp;
四个函数的综合案例:
以首字母大写的方式显示所有员工的姓名。
sql>select upper(substr(ename,1,1)) || lower(substr(ename,2,length(ename)-1)) from emp;
5、replace(char,searchstr,replacestr):查找字符串中的子串将其替换为另一个字符串,其中searchstr是想要查找的子串,replacestr是要替换成的字符串。
案例:显示所有员工的姓名,用"我是A"替换所有的"A"
sql> select replace(ename,'A','我是A') from emp;
6、instr(char1,char2,[,n[,m]]):取子串在字符串的位置。其中char1是目标字符串,char2是子串。
二、数学函数
1、round(n,[m]):该函数用于执行四舍五入,如果省掉m,则四舍五入到整数;如果m是正数,则四舍五入到小数点的m位后;如果m是负数,则四舍五入到小数点的m为位前。
2、trunc(n,[m]):该函数用于截取数字,如果省掉m,就截取小数部分;如果m是正数,就截取到小数点的m位后;如果m是负数,则截取到小数点的m位前。
3、mod(m,n):该函数用来获取两个数的模。m为被除数,n为除数.
4、floor(n):返回小于或是等于n的最大整数,即向下取整。
5、ceil(n):返回大于或等于n的最小整数,即向上取整。
综合性案例:
显示在一个月为30天的情况所有员工的日薪金,忽略余数:
方法一:sql>select ename,trunc(sal/30) from emp;
方法二:sql>select ename,floor(sal/30) from emp;
6、abs(n):返回数字n的绝对值。
7、acos(n):返回数字的反余弦值。
8、asin(n):返回数字的反正弦值。
9、atan(n):返回数字的反正切值。
10、cos(n):返回数字的余弦值。
11、exp(n):返回e的n次幂。
12、log(m,n):返回对数值。
13、power(m,n):返回m的n次幂。
三、日期函数
介绍:日期函数用于处理date类型的数据。默认情况下日期格式是dd-mon-yy,即12-7月-78。
1、sysdate:该函数返回系统时间。
2、add_months(d,n):返回指定的日期上加n个月。
3、last_day(d):返回指定日期所在月份的最后一天。
案例:
1、查询已经入职8个月多的员工。
sql>select * from emp where sysdate>add_months(hiredate,8);
2、显示满10年服务年限的员工的姓名和受雇日期。
sql>select ename,hiredate from emp where sysdate>=add_months(hiredate,10*12);
3、对于每个员工,显示其加入公司的天数
sql>select trunc(sysdate-hiredate) from emp;
4、找出各月倒数第三天受雇的所有员工。
sql>select * from emp where hiredate=last_day(hiredate)-2;
四、转换函数
介绍:转换函数用于将数据类型从一种转为另外一种,在某些情况下,Oracle Server允许值的数据类型和实际不一样,这时,Oracle Server会隐式的转换数据类型。
比如:
sql>create table t1(id number);
sql>insert into t1 values('10');
这样Oracle会自动的将'10'转换成10。
sql>create table t2(id varchar2(10));
sql>insert into t2 values(10);
这样Oracle就会自动的将10转换成'10'。
我们要说的是尽管Oracle可以进行隐式的数据类型的转换,大师它并不适应所有的情况,为了提高程序的可靠性,我们应该使用转换函数进行转换。
1、to_char:转换成具有一定格式的字符串。
日期:
yy:两位数字的年份2004=>04
yyyy:四位数字的年份2004
mm:两位数字的月份 8月=>08
dd:两位数字的天 30
hh24:晚上8点=>20
hh12:晚上8点=>08
mi:显示分钟
ss:显示秒
案例:显示雇员的入职时间,精确到时分秒
sql>select ename to_char(hirdate,'yyyy-mm-dd hh24:mi:ss') from emp;
案例:显示1980年入职的员工信息
sql>select * from emp where to_char(hiredate,'yyyy')=1980;
货币:
9:显示数字,并忽略前面0
0:显示数字,如位数不足,则用0补齐
.:在指定位置显示小数点
,:在指定位置显示逗号
$:在数字前加美元标记
L:在数字前加本地货币符号
C:在数字前加国际货币符号
G:在指定位置显示组分隔符
D:在指定位置显示小数点符号
案例:显示雇员的薪水,加上本地货币符号
sql>select ename,tochar(sal,'L99,999.99') from emp;
2、to_date:用于将字符串转换成date类型的数据。
案例:能否按照中国人习惯的方式年-月-日添加日期。
sql>insert into emp values(888,'Jack','MAMAGER',7802,to_date('1981-12-04','yyyy-mm-dd'),800,80,20);
五、系统函数
1、sys_context:通过该函数,可以查询一些重要信息,比如你正在使用哪个数据库等。该函数有以下参数:
(1)terminal:当前会话客户所对应的终端的标识符
(2)language:语言
(3)db_name:当前数据库名称
(4)nls_date_format:当前会话客户所对应的日期格式
(5)session_user:当前会话客户所对应的数据库用户名
(6)current_schema:当前会话客户所对应的默认方案名
(7)host:返回数据库坐在主机的名称
案例:如何获知你正在使用哪个数据库
sql>select sys_context("USERENV","db_name") from dual;
介绍:字符函数是Oracle中最常用的函数,我们来看看有哪些字符函数。
1、lower(char):将字符串转化为小写格式。
案例:将所有员工的名字按小写的方式显示
sql>select lower(ename) from emp;
2、upper(char):将字符串转化为大写的格式
案例:将所有员工的名字按大写的方式显示
sql>select upper(ename) from emp;
3、length(char):返回字符串长度
案例:显示正好为5个字符的员工的姓名
sql>select * from emp where length(ename)=5;
4、substr(char,m,n):取字符串的子串,其中m代表从第几个开始取,n代表取几个字符。
案例:显示所有员工的姓名的前三个字符。
sql>select substr(ename,1,3) from emp;
四个函数的综合案例:
以首字母大写的方式显示所有员工的姓名。
sql>select upper(substr(ename,1,1)) || lower(substr(ename,2,length(ename)-1)) from emp;
5、replace(char,searchstr,replacestr):查找字符串中的子串将其替换为另一个字符串,其中searchstr是想要查找的子串,replacestr是要替换成的字符串。
案例:显示所有员工的姓名,用"我是A"替换所有的"A"
sql> select replace(ename,'A','我是A') from emp;
6、instr(char1,char2,[,n[,m]]):取子串在字符串的位置。其中char1是目标字符串,char2是子串。
二、数学函数
1、round(n,[m]):该函数用于执行四舍五入,如果省掉m,则四舍五入到整数;如果m是正数,则四舍五入到小数点的m位后;如果m是负数,则四舍五入到小数点的m为位前。
2、trunc(n,[m]):该函数用于截取数字,如果省掉m,就截取小数部分;如果m是正数,就截取到小数点的m位后;如果m是负数,则截取到小数点的m位前。
3、mod(m,n):该函数用来获取两个数的模。m为被除数,n为除数.
4、floor(n):返回小于或是等于n的最大整数,即向下取整。
5、ceil(n):返回大于或等于n的最小整数,即向上取整。
综合性案例:
显示在一个月为30天的情况所有员工的日薪金,忽略余数:
方法一:sql>select ename,trunc(sal/30) from emp;
方法二:sql>select ename,floor(sal/30) from emp;
6、abs(n):返回数字n的绝对值。
7、acos(n):返回数字的反余弦值。
8、asin(n):返回数字的反正弦值。
9、atan(n):返回数字的反正切值。
10、cos(n):返回数字的余弦值。
11、exp(n):返回e的n次幂。
12、log(m,n):返回对数值。
13、power(m,n):返回m的n次幂。
三、日期函数
介绍:日期函数用于处理date类型的数据。默认情况下日期格式是dd-mon-yy,即12-7月-78。
1、sysdate:该函数返回系统时间。
2、add_months(d,n):返回指定的日期上加n个月。
3、last_day(d):返回指定日期所在月份的最后一天。
案例:
1、查询已经入职8个月多的员工。
sql>select * from emp where sysdate>add_months(hiredate,8);
2、显示满10年服务年限的员工的姓名和受雇日期。
sql>select ename,hiredate from emp where sysdate>=add_months(hiredate,10*12);
3、对于每个员工,显示其加入公司的天数
sql>select trunc(sysdate-hiredate) from emp;
4、找出各月倒数第三天受雇的所有员工。
sql>select * from emp where hiredate=last_day(hiredate)-2;
四、转换函数
介绍:转换函数用于将数据类型从一种转为另外一种,在某些情况下,Oracle Server允许值的数据类型和实际不一样,这时,Oracle Server会隐式的转换数据类型。
比如:
sql>create table t1(id number);
sql>insert into t1 values('10');
这样Oracle会自动的将'10'转换成10。
sql>create table t2(id varchar2(10));
sql>insert into t2 values(10);
这样Oracle就会自动的将10转换成'10'。
我们要说的是尽管Oracle可以进行隐式的数据类型的转换,大师它并不适应所有的情况,为了提高程序的可靠性,我们应该使用转换函数进行转换。
1、to_char:转换成具有一定格式的字符串。
日期:
yy:两位数字的年份2004=>04
yyyy:四位数字的年份2004
mm:两位数字的月份 8月=>08
dd:两位数字的天 30
hh24:晚上8点=>20
hh12:晚上8点=>08
mi:显示分钟
ss:显示秒
案例:显示雇员的入职时间,精确到时分秒
sql>select ename to_char(hirdate,'yyyy-mm-dd hh24:mi:ss') from emp;
案例:显示1980年入职的员工信息
sql>select * from emp where to_char(hiredate,'yyyy')=1980;
货币:
9:显示数字,并忽略前面0
0:显示数字,如位数不足,则用0补齐
.:在指定位置显示小数点
,:在指定位置显示逗号
$:在数字前加美元标记
L:在数字前加本地货币符号
C:在数字前加国际货币符号
G:在指定位置显示组分隔符
D:在指定位置显示小数点符号
案例:显示雇员的薪水,加上本地货币符号
sql>select ename,tochar(sal,'L99,999.99') from emp;
2、to_date:用于将字符串转换成date类型的数据。
案例:能否按照中国人习惯的方式年-月-日添加日期。
sql>insert into emp values(888,'Jack','MAMAGER',7802,to_date('1981-12-04','yyyy-mm-dd'),800,80,20);
五、系统函数
1、sys_context:通过该函数,可以查询一些重要信息,比如你正在使用哪个数据库等。该函数有以下参数:
(1)terminal:当前会话客户所对应的终端的标识符
(2)language:语言
(3)db_name:当前数据库名称
(4)nls_date_format:当前会话客户所对应的日期格式
(5)session_user:当前会话客户所对应的数据库用户名
(6)current_schema:当前会话客户所对应的默认方案名
(7)host:返回数据库坐在主机的名称
案例:如何获知你正在使用哪个数据库
sql>select sys_context("USERENV","db_name") from dual;
发表评论
-
oracle性能优化
2010-12-02 17:55 0T -
将Sequence统一加100000
2010-12-01 10:46 744select 'alter sequence ' || t1. ... -
Oracle 事件跟踪
2010-11-19 16:15 1163--查询30分钟前的数据select * from t as ... -
查询表属于的库和用户
2010-11-19 11:44 785select * from user_tables t whe ... -
创建返回值为自定义表的函数
2010-11-17 13:22 972CREATE OR REPLACE FUNCTION 函数名( ... -
找回被删除的数据
2010-11-12 17:00 739利用 delete from chg_number; 时 找 ... -
oracle 行转列
2010-10-11 17:29 783select '{' || d.il1_id || '}{' ... -
从dual表中查询返回多行记录
2010-10-11 17:28 4341select * from dual connect by 0 ... -
查找数据库锁
2010-10-11 17:19 608SELECT /*+ rule */ lpad( ... -
【转载】记录被锁解锁方法
2010-09-25 19:56 815今天,在使用update更新一条记录时,怎么都更新不了,一直处 ... -
【转载】110个常用函数整理汇总
2010-09-25 19:55 9781. ASCII 返回与指定的字符对应的十进制数; SQL& ... -
【转载】学习之Dual表
2010-09-25 19:49 729最近在使用Oracle时遇到一个特殊的表Dual。想必了解Or ... -
【转载】job简介
2010-09-25 19:48 730步骤如下: 1、创建一张表g_test create ta ... -
【转载】 错误一览表
2010-09-25 19:45 1062ORA-00001: 违反唯一约束 ... -
【转载】集合操作函数
2010-09-25 19:43 691集合操作符专门用于合并多条select 语句的结果,包括:UN ... -
【转】临时表 优化查询速度
2010-09-25 19:42 6521、前言 目前所有使用Oracle作为数据库支撑平台 ... -
【转载】权限
2010-09-25 19:34 675一、概述 这一部分我 ... -
【转载】索引
2010-09-25 19:33 1016一、概述 索引是用于加速数据存取数据对象,合理的使用索引可 ... -
【转载】约束
2010-09-25 19:32 662一、维护数据的完整性 概述:数据的完整性用于确保数据库数据 ... -
【转载】数据库管理
2010-09-25 19:31 626一、数据库管理员 概述:每个Oracle数据库应该至少有一名 ...
相关推荐
本文将介绍Tuxedo中与缓冲区管理和FML(Field Management Language)操作相关的函数,帮助开发者更好地理解和使用Tuxedo。 ### 1. 缓冲区管理函数 #### 1.1 `tpalloc` `tpalloc`函数用于分配缓冲区。它接受三个...
在C++编程中,`inline`关键字的使用是一个重要的优化技术,它旨在减少函数调用的开销,提高代码执行效率。本文将深入探讨`inline`函数的工作原理、使用场景及其潜在的陷阱,帮助开发者更好地理解和应用这一特性。 #...
1. **函数名称的一致性**:尽管函数重载允许使用相同的名称,但在定义多个重载函数时,应确保它们的功能相似,以便于理解。 2. **避免混淆**:在实际开发中,如果重载的函数功能相差很大,可能会导致代码难以理解和...
使用匿名函数和函数直接量,特别是通过立即调用的方式,可以避免在全局作用域中创建变量,从而减少潜在的命名冲突和全局变量污染。 6. **框架中的应用**: 许多JavaScript框架,如jQuery、React等,都广泛使用...
这篇文档提供了计算几何中一些常见的函数模板,涵盖了点、线段、多边形、圆和矩形的基本运算,以及一些实用的算法。以下是这些知识点的详细说明: **点的基本运算** 1. **两点之间距离**:在平面上,两点之间的距离...
C语言编写S函数方法,C语言编译的语句用法,文件属于转载文件
1. 使用`BIT_MASK`函数生成掩码; 2. 将`__dst`与掩码按位取反后进行逻辑与操作,目的是清除待设置的比特位; 3. 将待设置的值`__val`左移`bs##__bf`位,并与掩码进行逻辑与操作,确保只有目标范围内的比特位被设置...
此函数在程序使用中没有必要任何的版权声明,但是如果在网站、论坛或者博客中转载的话,希望能写明原作者为Lvivi,谢谢! ================ 我已经有24分了,谁能告诉我怎么样修改资源分 ================ 已经...
C语言实验报告 为原创,未经同意,不可转载! 为小白/初学者提供参考,没有完全考虑效率,如有错误,多谢指出。
在MATLAB中,图像处理是一个重要的领域,它提供了丰富的函数来创建、显示、分析和操作各种类型的图像。本文主要讨论了MATLAB中的几种常用图像类型及其处理方法。 首先,MATLAB默认将图像数据存储为双精度类型...
### ASP使用Jmail发送邮件的函数及使用方法 在Web开发中,经常需要通过脚本语言来实现自动化发送邮件的功能,以满足用户注册、找回密码等业务需求。本文将详细介绍如何利用ASP(Active Server Pages)结合Jmail组件...
需要注意的是,使用变参函数时,必须在函数内部设定一个明确的结束条件,因为编译器无法自动确定可变参数的数量。在`simple_va_fun`中,结束条件是遇到参数值为`-1`。 在C++中,虽然有函数重载来区分不同参数的函数...
### Oracle 语法之 OVER (PARTITION BY ..) 及开窗函数详解 #### 一、OVER (PARTITION BY ..) 概述 在Oracle数据库中,`OVER (PARTITION BY ...)` 是一种非常强大的功能,它允许用户在数据集上进行窗口操作。这在...
c函数库查询 用法一条龙服务,适合新手哦
几种简单的常用数字滤波函数,C编写,转载。
函数工具集合prof_dzh_VB版 集合了函数计算/绘图/源代码的实用小软件 欢迎转载,严禁抄袭! 玩玩呗【QQ1207575635】原创
粒子群算法PSO入门代码火经典案例求Ackley函数附-PSO.zip 本帖最后由 当当的花生 于 2016-7-30 20:09 编辑 回帖获得更多 粒子群算法 ...转载注明出处,侵删 回复 支持 获得更多 M文件如下:
但请注意,这些是数值优化函数,对于符号函数,我们需要使用`diff`来求导,并通过解导数等于零的方程来找到可能的临界点。 2. **渐近线**:函数的渐近线是函数图像在某些方向上无限接近但永不相交的直线。在水平...
里面内容为本人原创,如有转载请注明。 硬件平台为stm32f103,首先使用c++编译生成led驱动lib库文件,然后新建工程使用c++编译stm32主程序测试库函数的使用,编译debug调试正常。led驱动采用了类封装,大大提高代码...
R语言基础包函数中文帮助文档是针对R语言使用者设计的一份详尽资源,旨在提供R语言基础包内各函数的中文解释与英文对照。这份文档由生物统计家园网站发布,版本号为v1.0,适用于R语言2.14.1版本。文档由机器人LoveR...