Oracle学习第二篇—单行函数

1字符函数


length  字符长度

lengthb 字节长度

lower 变为小写

upper 变为大写

initcap 首字母大写


select Lower(‘xun Ying‘) 小写,Upper(‘xun Ying‘) 大写,  initcap(‘xun Ying‘) 首字母大写 from dual


lpad 左填充  rpad 右填充

trim 去掉前后指定的字符

replace

instr 在母串中查找子串,找到返回下标(从1开始),否则返回0


1 select lpad(‘abcd‘,10,‘*‘) 左,rpad(‘abcd‘,10,‘*‘) 右
   from dual;

2 select trim(‘H‘ from ‘Hello WorldH‘) from dual;

3 select replace(‘Hello World‘,‘l‘,‘*‘) from dual;

4 select instr(‘Hello World‘,‘ll‘)  from dual;

2 数字函数


ROUND(x,d)

对x进行四舍五入,d来控制它的位数


ROUND(45.926, 2) 45.93

ROUND(45.926, 1) 45.9

ROUND(45.926, 0) 46

ROUND(45.926, -1) 50

ROUND(45.926, -2) 0


TRUNC (x,d)

将数字截尾取整


TRUNC(45.926, -1) 40

TRUNC(45.926, 1)  45.9


Mod(A,B)

A%B

3 通用函数

参数可以是任意数据类型

1 NVL过滤空值的函数 nvl(comm,0)

2 nvl2(a,b,c) 当a=null时,返回c,否则返回b
3 nullif(a,b) 当a=b时,返回null,否则返回a

4 日期函数


日期的运算

1)日期加减一个数,此数指的是天;两个日期相加没有意义

2)日期相互减后的结果是相差的天数

  可以通过加减来 近似的算出工龄

        select sysdate from dual  10-11月-14
        select sysdate-1 昨天,sysdate 今天,sysdate+1 明天 from dual
        select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘) from dual
        select to_char(systimestamp,‘yyyy-mm-dd hh24:mi:ss*ff‘) from dual;
        select (sysdate-hiredate)/30 一,
            MONTHS_BETWEEN(sysdate,hiredate) 二 from emp;

5 条件表达式


1 CASE表达式

SQL99的语法,类似BASIC


语法:

case

column when exp then return_value
when exp then return_value
ELSE last_value

end


2 DECODE函数:

oracle自己的语法,类似java


语法:

DECODE(exp|column,search1,result1,....)

如:根据职位涨工资,总裁+1000,经理 800,其他 400
    select ename,job,sal 涨前薪水,
       case job when ‘PRESIDENT‘ then sal+1000
                  when ‘MANAGER‘ then sal+800
                 else sal+400
          end 涨后薪水
     from emp;

    select ename,job,sal 涨前薪水,
        decode(job,‘PRESIDENT‘,sal+1000,
             ‘MANAGER‘, sal+800,
                        sal+400) 涨后薪水
       from emp;
时间: 2024-10-26 03:04:16

Oracle学习第二篇—单行函数的相关文章

Oracle学习(三):单行函数

1.知识点:可以对照下面的录屏进行阅读 SQL> --字符函数 SQL> --字符串的转换 SQL> select lower('hellO WORld') 转小写,upper('hellO WORld') 转大写,initcap('hello world') 首字母大写 2 from dual; SQL> --substr(a,b) 从a中,第b位开始取,取右边所有的字符 SQL> select substr('Hello World',4) from dual; SQL&

Oracle学习(四):组函数

1.知识点:可以对照下面的录屏进行阅读 SQL> --组函数类型:avg,count,max,min,sum SQL> --工资总额 SQL> select sum(sal) from emp; SQL> --员工人数 SQL> select count(*) from emp; SQL> --平均工资 SQL> select sum(sal)/count(*) 一, avg(sal) 二 from emp; SQL> --平均奖金的三种方式:二三方法一样,

UI学习第二篇 (控件)

UIbutton 也是一个控件,它属于UIControl 用的最多的就是事件响应 1. //创建按钮对象 UIButton * _botton = [UIButton buttonWithType:UIButtonTypeCustom]; //设置标题 [_botton setTitle:@"按住说话" forstate:UIControlStateNormal]; [_botton setTitle:@"松开说话" forstate:UIControlStateH

ORACLE 第3节 单行函数

?SQL中不同类型的函数 ?在SELECT 语句中使用字符,数字,日期和转换函数 ?使用条件表达式 两种SQL函数 单行函数: ?操作数据对象 ?接受参数返回一个结果 ?只对一行进行变换 ?每行返回一个结果 ?可以转换数据类型 ?可以嵌套 ?参数可以是一列或一个值 function_name [(arg1,arg2,...)] 字符型函数: 大小写控制函数 大小写控制函数: 这类函数改变字符的大小写. LOWER UPPER INITCAP 显式数据类型转换: SELECT TO_CHAR(sy

Oracle 学习笔记 18 -- 存储函数和存储过程(PL/SQL子程序)

PL/SQL子程序 包括函数和过程.这里的函数指的是用户自己定义的函数,和系统函数是不同的.子程序一般是完成特定功能的PL/SQL程序块,并且具有一定的通用性,可以被不同的应用程序多次调用.Oracle提供可以把PL/SQL程序存储在数据库中,并可以再任何地方来运行它.这样就叫做存储过程或者是函数.过程和函数的唯一区别就是函数总是向调用者返回数据,而过程则不返回数据. 函数 如果用户要经常执行某些操作,并且需要返回特定的数据,那么就可以将这些操作构造成一个函数. 可以使用SQL语句定义函数. 基

Web前端学习第二篇

今天看到了一篇写的不错的文章,是有关对JQuery.js等一些源代码初识的内容,感觉写的还是不错,所以拿过来分享一下. 文章的地址:http://my249645546.iteye.com/blog/1716629 1.对(function(){})(); 几乎所有的开源js代码开篇都是这样(function(……){……})(……); 下面是Jquery的部分源码: (function( window, undefined ) { var jQuery = function( selector

Java并发包下锁学习第二篇Java并发基础框架-队列同步器介绍

Java并发包下锁学习第二篇队列同步器 还记得在第一篇文章中,讲到的locks包下的类结果图吗?如下图: ? 从图中,我们可以看到AbstractQueuedSynchronizer这个类很重要(在本文中,凯哥就用AQS来代替这个类).我们先来了解这个类.对这个类了解之后,学习后面的会更容易了. 本篇是<凯哥(凯哥Java:kagejava)并发编程学习>系列之<Lock系列>教程的第一篇:<Java并发包下锁学习第二篇:队列同步器>. 本文主要内容:同步器介绍:同步器

oracle学习 第二章 限制性查询和数据的排序 ——03

这里,我们接着上一小节2.6留下的问题:如果要查询的字符串中含有"_"或"%",又该怎样处理呢? 开始今天的学习. 2.7  如何使用转义(escape)操作符 可以是用个转义(escape)关键字来完成此任务.为了进行练习,我们必须先创建一个临时的表,之后再往该表中插入1行记录,其包含通配符.可能您现在还可能十分不理解例2-13和例2-14的SQL语句.没有问题,您只要照着输入就可以了. 例 2-13 SQL> CREATE TABLE dept_temp

Oracle学习第二天

oracle数据库的常见数据类型oracle全部数据类型 有26种 char定长字符串类型 长度是固定不变的 例如:no char(10) 如果存入的值不足十个字符,其它位也被占用默认长度是1 最大长度是2000个字节 GBK编码 1000个汉子占用的空间较多,但是查询效率较高 varchar2边长字符串类型 长度可变 例如:定义的长度是100个字节,存入的值是80个字节,那么实际占用的就是80个字节varchar在oracle中不推荐使用,强烈推荐你使用varchar2必须要为其指定长度 1-