oracle学习笔记(四)

1.常用函数

1)字符函数

lower
 全部转为小写 select lower(‘HELLO‘) from dual; -->hello

upper  全部转为大写 select upper(‘hello‘) from dual; HELLO

concat       连接两个字符串 select concat(‘hello‘,‘world‘) from dual;--> helloworld

initcap       首字母转为大写 select initcap(‘hello‘) from dual;--> Hello

substr
  在字符串str中从第m个位置开始取n个字符(位置从1开始)select substr(‘helloworld‘,2,3) from dual;--> ell

length     
  求长度 select length(‘hello‘)  from dual;--> 5

instr 从字符串strA中找出str所在的位置(返回第找到的1个,位置从1开始) select instr(‘hello‘,‘ll‘) from dual;--> 3

lpad  把字符串str补齐到n个长度,不足就在左边加指定字符c 如果str.length>n就取str的前n个字符;select
lpad(‘hell‘,10,‘*‘)
from dual;--> ******hell

rpad   把字符串str补齐到n个长度,不足就在右边加指定字符c;如果str.length>n就取str的前n个字符(也是从前面取)select
rpad(‘hello‘,10,‘*‘) from dual; -->hello*****

trim
从str的两端去掉字符,要是指定的字符时才去掉,使用方式特殊:

例:trim(‘a‘ from ‘aaITCASTaa‘) 结果为 ‘ITCAST‘

trim(‘C‘ from ‘aaITCASTaa‘) 结果为 ‘aaITCASTaa‘ 注这里是去掉两端的!

注意:前面只能指定一个字符。

replace
例:replace(‘aaITCASTaa‘, ‘a‘, ‘=‘) 结果为 ‘==ITCAST==‘

2)数字函数

round
四舍五入,例 round(‘45.923‘, 2) 表示保存两位小数,保留的位数可以指定正、零、负数。

trunc 截断,舍掉后面的数,保留的位数可以指定正、零、负数。

mod 求余,如 mod(12, 5) 结果为2

3)日期函数

例:今天 明天 昨天

select  sysdate 今天,sysdate+1 明天,sysdate-1 昨天 from dual;

add_months  
select add_months(sysdate,1) -->当前日期再加上一个月

next_day 从某个日期算起,下一个出现该星期几的日期是哪天: select next_day(sysdate,‘星期三‘) from dual;

last_day 当月的最后一天 select last_day(sysdate)-->当前日期的月份的最后一天

round select round(sysdate,‘year‘) from dual;

select round(sysdate,‘month‘) from dual;

select round(sysdate,‘day‘) from dual;

trunc

转换函数:

隐式数据类型转换 与 显式数据类型转换

to_char(date, format)

to_date(string [,format])

to_char(number, format)

to_number(string [,format]) 如: to_number(‘22‘) 或 to_number(‘$22‘, ‘$99‘)

空值处理函数:

NVL (expr1, expr2)

可以使用的数据类型有日期、字符、数字

NVL2 (expr1, expr2, expr3)

expr1不为NULL,返回expr2;为NULL,就返回expr3( expr1 != null ? expr2 : expr3 )

条件表达式:

case ‘‘ when ‘‘ then  ‘‘ when ‘‘ then ‘‘  else ‘‘ end;

select empno,ename,empjob ,sal 原来的工资, (case empjob when ‘PRESIDENT‘ sal+1000 when ‘MANAGER‘ then  sal+800 else sal+400 end)  涨后的工资 from emp;

使用decode函数:

select empno,ename,empjob,sal 原来的工资,

(decode(empjob,‘PRISIDENT‘,sal+1000,‘MANAGER‘,sal+800,sal+400)) 涨后的工资

from emp;

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

时间: 2024-10-19 13:54:28

oracle学习笔记(四)的相关文章

Oracle 学习笔记(四)

一.高效 SQL 语句原则 在where 中用 = 关系运算时 避免用函数在关系运算中,除非你使用函数建立索引 尽量不要隐式转化数据类型,数据类型一定要匹配 尽量将一句SQL分成多个语句完成 不能差分的请用UNION ALL 来组合 条件确定的子查询  Exist 适合于外表小,内表大    in  适合于外表大,内表小 使用视图的注意事项 复杂视图的连接要小心,尤其有外键的时候 当查询的是视图中引用的部分表的时候,请不要使用视图,或者建立新的更小的表 存储中间结果 对查询中可能多次调用的结果集

oracle学习笔记 存储及raid技术概述

oracle学习笔记 存储及raid技术概述 本课以oracle数据库所运行的环境,讲一下存储和raid技术. 一)oralce生产环境里的结构 先说一下oracle所在的环境. 有一种结构: 两个服务器.两个光纤存储交换机.两个存储, 它们通过网线相互连接在一起. 每个服务器接两个交换机, 每个交换机连两个服务器同时连两个存储, 每个存储和两个交换机有连接. 这是oracle数据库相对比较典型的正规的运行环境. 每个服务器上都装Linux和oracle数据库软件, oracle数据库建在存储上

Oracle学习笔记三 SQL命令

SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)               下面是这四种SQL语言的详细笔记: Oracle学习笔记三 SQL命令(二):SQL操作语言类别 Oracle数据类型 创建表时,必须为各个列指定数据类型 以下是 Oracle 数据类型的类别: 字符数据类型 CHAR类型 当需要固定长度的字符串时,使用 CHAR 数据类型. CHAR 数据类型存储字母数字值. CH

oracle学习笔记 SQL语句执行过程剖析讲课

oracle学习笔记 SQL语句执行过程剖析讲课 这节课通过讲述一条SQL语句进入数据库 和其在数据库中的整个的执行过程 把数据库里面的体系结构串一下. 让大家再进一步了解oracle数据库里面的各个进程.存储结构以及内存结构的关联关系. 首先来讲整个体系中有客户端.实例和数据库 数据库里有三类文件 控制文件ctl.数据文件dbf.日志文件log 实例中SGA有六大池子 第一大内存区shared pool即共享池 第二大内存区buffer cache 第三块是redo log 我们主要讲上面的三

oracle学习笔记 swap

oracle学习笔记 swap 这节课老师讲了很多,虽说看起来很多都没有用,但老师讲的仔细,我们应该认真了解一下. 这节课主要内容是硬盘的工作机制,工作原理, 以一些系统性能分析工具为线,并附带讲了系统中cpu.内存的工作机制. 对以后进行orace的优化,操作系统的学习非常有帮助. 此前讲过计算机的工作机制. 程序在硬盘上,执行时首先被调入内存成为进程,cpu按照时间片循环的轮回的执行各个进程. 表面上看各个进程都在运行,实际上很多进程都被时间片阻挡在cpu之外. 从宏观上看多个进程同时在执行

Caliburn.Micro学习笔记(四)----IHandle<T>实现多语言功能

Caliburn.Micro学习笔记(四)----IHandle<T>实现多语言功能 说一下IHandle<T>实现多语言功能 因为Caliburn.Micro是基于MvvM的UI与codebehind分离, binding可以是双向的所以我们想动态的实现多语言切换很是方便今天我做一个小demo给大家提供一个思路 先看一下效果 点击英文  变成英文状态点chinese就会变成中文                          源码的下载地址在文章的最下边 多语言用的是资源文件建

代码管理工具 --- git的学习笔记四《重新整理git(1)》

1.创建版本库 mkdir  创建目录 cd  地址,到该地址下 pwd 显示当前目录 1.创建目录 $ mkdir startGit $ cd startGit $ pwd 显示当前目录 或者cd到桌面,然后再创建目录 2.初始化版本库 $ git init 初始化仓库 提示信息:Initialized empty Git repository in /Users/xingzai/Desktop/startGit/.git/ 建立一个空的git仓库在/Users/xingzai/Desktop

Linux学习笔记四:Linux的文件搜索命令

1.文件搜索命令  which 语法:which [命令名称] 范例:$which ls  列出ls命令所在目录 [[email protected] ~]$ which ls alias ls='ls --color=auto' /bin/ls 另外一个命令:whereis [名称名称],也可以列出命令所在目录. [[email protected] ~]$ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/ma

小猪的数据结构学习笔记(四)

小猪的数据结构学习笔记(四) 线性表之静态链表 --转载请注明出处:coder-pig 本章引言: 在二,三中中我们分别学习了顺序表中的线性表与单链表,线性表有点类似于 我们前面所学的数组,而单链表使用的最多的是指针,这里问个简单的问题, 如果是在以前没有指针的话,前辈先人们怎么实现单链表呢?大家思考下! 没有指针,那么用什么来代替呢?前辈先人们非常机智,想出了使用下标+游标的方式 来实现单链表的效果!也就是今天要讲的--静态链表! 当然你也可以直接跳过本章,因为有了单链表就没有必要用静态链表了