ORACLE 第3节 单行函数

?SQL中不同类型的函数

?在SELECT 语句中使用字符,数字,日期和转换函数

?使用条件表达式

两种SQL函数

单行函数:

?操作数据对象

?接受参数返回一个结果

?只对一行进行变换

?每行返回一个结果

?可以转换数据类型

?可以嵌套

?参数可以是一列或一个值

function_name [(arg1,arg2,...)]

字符型函数:

大小写控制函数

大小写控制函数:

这类函数改变字符的大小写。

LOWER

UPPER

INITCAP

显式数据类型转换:

SELECT TO_CHAR(sysdate,‘yyyy-mm-ddhh:mi:ss)
FROM dual;

TO_CHAR(date, ‘format_model‘)

?使用 TO_DATE 函数将字符转换成数字:

TO_DATE(char[, ‘format_model‘])

TO_DATE(‘2012年10月29日08:10:21’,’yyyy“年”mm”月”dd“日”hh:mi:ss’) from dual

?使用TO_NUMBER函数将字符转换成日期:

TO_NUMBER(char[,format_model‘])

TO_NUMBER(1,234,567,890.00’,’L999,999,999,999.99’)from
dual

通用函数:

这些函数适用于任何数据类型,同时也适用于空值:

?NVL(expr1, expr2)

?NVL2(expr1, expr2, expr3)

?NULLIF(expr1, expr2)

?COALESCE(expr1, expr2, ..., exprn)

将空值转换成一个已知的值:(如果commission_pct为空是,commission_pct为原来的值,为空时,commission_pct为expr2

–NVL(commission_pct,0)

NVL2 (expr1, expr2, expr3) : expr1不为NULL,返回expr2;为NULL,返回expr3

SELECT last_name, salary, NVL(commission_pct,
0),

  (salary*12) + (salary*12*NVL(commission_pct,
0)) AN_SAL

FROM employees;

条件表达式:

–CASE 表达式

–DECODE 函数

CASE expr WHEN comparison_expr1THEN return_expr1

[WHEN comparison_expr2
THEN return_expr2

WHEN comparison_exprn
THEN return_exprn

ELSE else_expr]

END

SELECT last_name, job_id, salary,
      CASE job_id  WHEN 'IT_PROG' THEN 1.10*salary
                WHEN 'ST_CLERK' THEN 1.15*salary
                WHEN 'SA_REP'   THEN 1.20*salary
       ELSE     salary
END    "REVISED_SALARY"
FROM  employees;
select employee_id,last_name,department_id,case department_id when 10 then salary*1.1
                                                              when 20 then salary*1.2
                                                              when 30 then salary*1.3
                                                              end "new salary"
from employees
where department_id in (10,20,30)

SELECT last_name,job_id,
salary,

      DECODE(job_id, ‘IT_PROG‘, 
1.10*salary,

                      ‘ST_CLERK‘, 1.15*salary,

                      ‘SA_REP‘,   1.20*salary,

                    salary)

      REVISED_SALARY

FROM  employees;

版权声明:本文为博主原创文章,未经博主允许不得转载。

ORACLE 第3节 单行函数

时间: 2024-10-27 04:35:52

ORACLE 第3节 单行函数的相关文章

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字符函数 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

oracle强化练习之单行函数

1.      显示dname和loc中间用-分隔 Select dname ||'-'|| loc From dept; 2.      将部门名称左填充为10位 Select lpad( dname,10) From dept; 3.      将员工名字的'S',替换为's' Select replace(ename,'S','s') From emp; 4.      求员工名字的前三位 Select  substr(ename,1,3) From emp; 5.      查找员工名字

Oracle笔记(三)单行函数

-函数 函数像一个黑盒子一样(看不到里边的构造),有参数返回值,可以为我们完成一定的功能. -单行 这种函数会对结果中的每一行计算一次,每行返回一个结果,单行概念区别于分组函数. 单行函数主要分为以下五类:字符函数.数字函数.日期函数.转换函数.通用函数: 一.字符型函数 ---字符处理-大小写转换 例子:写一个SQL,将'I love Sql'转换成全大写,全小写和首字母大写的形式. SELECT UPPER ('I love Sql'),LOWER('I love Sql'),INITCAP

Oracle单行函数笔记

Oracle中单行函数的分类:1.字符函数substr():字符串截取select substr('我爱你,你知道么?',0,4) from dual执行结果:我爱你,length函数:字符串长度select length('我爱你,你知道么?') from dual执行结果:9Replace()函数:替换指定字符select replace('我爱你,你知道么?','你','的是他') from dual执行结果:我爱的是他,的是他知道么?upper函数:转字母大写select upper('

oracle单行函数

单行函数的语法 Function_name(column|expression, [arg1, arg2, ...]) 参数说明: Function_name    函数名称 column           列名 expression       表达式 arg1,arg2,...    参数 单行函数分类: 字符函数:接收字符输入并返回字符或数值 数值函数:接受数据输入并返回数值 日期函数:对日期型数据进行操作 转换函数:从一种数据类型转换为另外一种数据类型 通用函数:NVL 函数 DECO

数据库 day60,61 Oracle入门,单行函数,多表查询,子查询,事物处理,约束,rownum分页,视图,序列,索引

1.    oracle介绍 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一.比如SilverStream就是基于数据库的一种中间件.ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能:作为一个关系数据库,它是一个完备关系的产品:作为分布式数据库它实现了分布式处理功能.但它的所有知识,只要在一种机型上学习

ORACLE SQL单行函数(一)【weber出品必属精品】

1.SUBSTR:求父串中的子串 SUBSTR('HelloWorld',1,5) 1:代表子串的起始位置,如果为正,正数,如果为负,倒数 5:代表字串的终止位置,只能向右数,可以省略,如果省略就是数到最后 SUBSTR:求父串中的子串 SUBSTR('HelloWorld',1,5) 1:代表子串的起始位置,如果为正,正数,如果为负,倒数 5:代表字串的终止位置,只能向右数,可以省略,如果省略就是数到最后 2.LENGTH:求字符串的长度 SQL> select LENGTH('HELLOWO

ORACLE SQL单行函数(二)【weber出品必属精品】

11.dual:虚表,任何用户都可以使用,表结构如下: SQL> desc dual Name Null? Type ----------------------------------------- -------- ---------------------------- DUMMY VARCHAR2(1) 12.dual的作用: 1. 查询数据库系统日期 2. 进行四则运算 SQL> select sysdate from dual; ---这里查询数据库系统日期 SYSDATE ---