`
cenhonggang86830
  • 浏览: 45248 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

【转载】函数的使用

阅读更多
一、字符函数
介绍:字符函数是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;

分享到:
评论

相关推荐

    Tuxedo函数说明--中文(转载)

    本文将介绍Tuxedo中与缓冲区管理和FML(Field Management Language)操作相关的函数,帮助开发者更好地理解和使用Tuxedo。 ### 1. 缓冲区管理函数 #### 1.1 `tpalloc` `tpalloc`函数用于分配缓冲区。它接受三个...

    inline函数说明(转载)

    在C++编程中,`inline`关键字的使用是一个重要的优化技术,它旨在减少函数调用的开销,提高代码执行效率。本文将深入探讨`inline`函数的工作原理、使用场景及其潜在的陷阱,帮助开发者更好地理解和应用这一特性。 #...

    函数重载的详解和应用

    1. **函数名称的一致性**:尽管函数重载允许使用相同的名称,但在定义多个重载函数时,应确保它们的功能相似,以便于理解。 2. **避免混淆**:在实际开发中,如果重载的函数功能相差很大,可能会导致代码难以理解和...

    (转载)JavaScript中匿名函数,函数直接量和闭包.docx

    使用匿名函数和函数直接量,特别是通过立即调用的方式,可以避免在全局作用域中创建变量,从而减少潜在的命名冲突和全局变量污染。 6. **框架中的应用**: 许多JavaScript框架,如jQuery、React等,都广泛使用...

    计算几何常用函数模版(转载)

    这篇文档提供了计算几何中一些常见的函数模板,涵盖了点、线段、多边形、圆和矩形的基本运算,以及一些实用的算法。以下是这些知识点的详细说明: **点的基本运算** 1. **两点之间距离**:在平面上,两点之间的距离...

    C语言编写S函数方法

    C语言编写S函数方法,C语言编译的语句用法,文件属于转载文件

    ARM公司给出的置位操作函数解释(转载)

    1. 使用`BIT_MASK`函数生成掩码; 2. 将`__dst`与掩码按位取反后进行逻辑与操作,目的是清除待设置的比特位; 3. 将待设置的值`__val`左移`bs##__bf`位,并与掩码进行逻辑与操作,确保只有目标范围内的比特位被设置...

    JavaScript 浮点 运算 函数

    此函数在程序使用中没有必要任何的版权声明,但是如果在网站、论坛或者博客中转载的话,希望能写明原作者为Lvivi,谢谢! ================ 我已经有24分了,谁能告诉我怎么样修改资源分 ================ 已经...

    Oracle 语法之 OVER (PARTITION BY ..) 及开窗函数(转载)

    ### Oracle 语法之 OVER (PARTITION BY ..) 及开窗函数详解 #### 一、OVER (PARTITION BY ..) 概述 在Oracle数据库中,`OVER (PARTITION BY ...)` 是一种非常强大的功能,它允许用户在数据集上进行窗口操作。这在...

    实验05 函数结构程序设计

    C语言实验报告 为原创,未经同意,不可转载! 为小白/初学者提供参考,没有完全考虑效率,如有错误,多谢指出。

    Matlab 常用图像函数(二)(转载).doc

    在MATLAB中,图像处理是一个重要的领域,它提供了丰富的函数来创建、显示、分析和操作各种类型的图像。本文主要讨论了MATLAB中的几种常用图像类型及其处理方法。 首先,MATLAB默认将图像数据存储为双精度类型...

    ASP使用Jmail发送邮件的函数及使用方法

    ### ASP使用Jmail发送邮件的函数及使用方法 在Web开发中,经常需要通过脚本语言来实现自动化发送邮件的功能,以满足用户注册、找回密码等业务需求。本文将详细介绍如何利用ASP(Active Server Pages)结合Jmail组件...

    c语言变参函数--转载[定义].pdf

    需要注意的是,使用变参函数时,必须在函数内部设定一个明确的结束条件,因为编译器无法自动确定可变参数的数量。在`simple_va_fun`中,结束条件是遇到参数值为`-1`。 在C++中,虽然有函数重载来区分不同参数的函数...

    C语言函数库手册(转载)

    c函数库查询 用法一条龙服务,适合新手哦

    几种简单的数字常用滤波函数

    几种简单的常用数字滤波函数,C编写,转载。

    函数工具集合prof_dzh_VB

    函数工具集合prof_dzh_VB版 集合了函数计算/绘图/源代码的实用小软件 欢迎转载,严禁抄袭! 玩玩呗【QQ1207575635】原创

    粒子群算法PSO入门代码火经典案例求Ackley函数附-PSO.zip

    粒子群算法PSO入门代码火经典案例求Ackley函数附-PSO.zip 本帖最后由 当当的花生 于 2016-7-30 20:09 编辑 回帖获得更多 粒子群算法 ...转载注明出处,侵删 回复 支持 获得更多 M文件如下:

    转载MATLAB符号计算实例 函数的最值点渐近线拐点 源程序.rar

    但请注意,这些是数值优化函数,对于符号函数,我们需要使用`diff`来求导,并通过解导数等于零的方程来找到可能的临界点。 2. **渐近线**:函数的渐近线是函数图像在某些方向上无限接近但永不相交的直线。在水平...

    使用c++编写stm32并调用lib函数

    里面内容为本人原创,如有转载请注明。 硬件平台为stm32f103,首先使用c++编译生成led驱动lib库文件,然后新建工程使用c++编译stm32主程序测试库函数的使用,编译debug调试正常。led驱动采用了类封装,大大提高代码...

Global site tag (gtag.js) - Google Analytics