set linesize 120

set pagesize 20

column file_name format a8

v$nls_parameters 数据字典中的一个表

关于null的注意:

1:包含null的表达式结果为空

2:判断一个值是否等于null是用 is  不等于用is not 。记住(null!=null)

3:如果集合中含有null值,不能使用not in 但可以使用 in

sql 优化:

oracle9之后, *和列名的效率一样,在之前,用*列名效率比较高,因为oracle要解析*,所以效率比较慢

like的使用, 一个_代表匹配所有,多个_代表匹配多个字符,以S开头的 'S%',以S结尾的'%S',包含S的'%S%'

转移字符:escape 后面自顶一个转义字符

查询名字中含有_这个的

1 select *
2 from emp
3* where ename like '%\_%' escape '\'

使用and 时,应该尽量是假值在左边,使用or时应该尽量是真值在左边

排序:

如果要排序的值中含有空值,应当使其在后面  select * from emp order by comm desc nulls last;

修改系统日期的格式

select * from v$bls_parameters;

alter session set NLS_DATE_FORMAT='yyyy-mm-dd';原系统日期格式为'DD-MON-RR'

DISTINCT 去掉重复记录(作用它后面所有的列)

select DISTINCT deptno from emp;

单行函数:

字符函数

lower('Hello Word') 转小写 upper('Hello World') 转大写  select lower('Hello World'),upper('Hello World') from dual

substr(a,b)从a中,第b位开始取,取右边所有的字符 select substr('Hello World',3) from dual;

substr(a,b,c)从a中,第b位开始取,去的长度为c ,select substr('Hello World',2,3) from dual;

length('中国') 字符数  lengthb('中国')字节数 select length('中国'),lengthb('中国') from dual;

instr(a,b)从a中查找b,找到返回下标,否则返回0 select instr('Hello Word','ll') from dual;

lpad左填充 rpad右填充  select lpad('abcd',10,'*') from dual  把字符串abcd填充到第10位,用*填充

trim去掉前后指定的字符 select trim('H' from 'Hello WorldH') from dual;  意思是从 Hello WorldH 去掉H

replace 替换  select replace('hello world',2,'l','*') from dual;  把hello world 中所有字符l用*替换

数字函数

round(45.926,2)四舍五入函数,后面的数字为保留的小数位数 select round(45.926,2) ,round(45.926,1),round(45.926,0),round(45.926,-1),round(45.926,-2) from dual

trunc(45.926,2)一律舍去保留小数位后面的值,不管是否大于5还是小于4  select trunc(45.926,2) ,trunc(45.926,1),trunc(45.926,0),trunc(45.926,-1),trunc(45.926,-2) from dual

mod(1600,300) 求余 select mod(1600,300) 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-1), sysdate, (sysdate+1) from dual;

不允许日期+日期

months_between 两个日期相差的月数 select ename,months_between(sysdate,hiredate) from emp;

add_months 指定日期加上若干月数 select add_months(sysdate,100) from dual;

next_day 指定日期的下一个日期 select next_day(sysdate,'星期三') from dual;

last_day 日期所在月份的最后一天 select last_day(sysdate) from dual

round 日期四射五入 select round(sysdate,'month'), round(sysdate,'year'),round(sysdate,'day') from dual;

trunc 日期截断 select trunc (sysdate,'month'), trunc (sysdate,'year'),trunc (sysdate,'day') from dual;

转换函数

隐性转换(不需要你做什么,oracle数据库自动为你转换,前提是被转换对象是可以转换的)

显性转换(需要自己手动的转换)

显示当前时间 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss "今天是" day') from dual;

把某一个数字按一定格式转换成字符串

查询员工薪水:两位小数,货比代码,千位符

select to_char(sal,'9,999.99L') from emp;

oracle学习总结的更多相关文章

  1. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  2. Oracle学习线路

    出自huyangg的博客,地址是:oracle学习路线图 1.sql.pl/sql(网上有很多的视频,可以做一个简单的入手,然后看几本书,多做实验)    作为oracle的基本功,需要大家对sql和 ...

  3. Oracle学习指南

    Oracle学习指南 你走的那天,我决定不落泪,迎着风撑着眼帘用力不眨眼 创建数据库.创建用户.创建表空间.创建表.插入数据..... 1.用系统用户登录,任选系统用户 代码: >>sql ...

  4. Oracle学习系列1-7

    Oracle学习系列1 两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 3 ...

  5. Oracle学习系列7

    Oracle学习系列7 ************************************************************************************ 关联表 ...

  6. Oracle学习系列6

    Oracle学习系列6 ************************************************************************************ 删除约 ...

  7. Oracle学习系列5

    Oracle学习系列5 ************************************************************************************ ,掌握 ...

  8. Oracle学习系列4

    Oracle学习系列4 ************************************************************************************ 数据库 ...

  9. Oracle学习系列3

    Oracle学习系列3 ************************************************************************************ 多表查 ...

  10. oracle学习笔记(一)用户管理

    --oracle学习第一天 --连接 @后面连接数据库实例,具体连接到那个数据库 conn scott/tiger@MYORA1; --修改密码 passw; --显示用户 show user; -- ...

随机推荐

  1. 八、套接字(Socket)

    demo 一个连接由它的两个端点标识,这样的端点称为套接 套接字是支持TCP/IP协议的网络通信的基本操作单元. 可以将套接字看作不同主机间的进程进行双向通信的端点. 上图连接1的一对套接字为: (1 ...

  2. C#获取指定网页源码的几种方法

    // WebClient private string GetWebClient(string url) { string strHTML = ""; WebClient myWe ...

  3. C#总结3

    第四章:文件管理 File类:      对于File类,里面的方法都是静态方法,就是直接可以用FIle来“.”: 记几个方法吧:File.Copy(string filename1,string f ...

  4. C#扫盲之:==/Equals /ReferenceEquals 异同的总结,相等性你真的知道吗?

    1.前言 == Equals ReferenceEquals 三个相等性测试,是.NET提供给程序员使用的三个方法,他们之间有什么联系和区别,你真的仔细研究过?虽然之前也多多少少知道一点,但是有时候又 ...

  5. Map集合的两种遍历方式

    Map集合:即 接口Map<K,V> map集合的两种取出方式:    1.Set<k> keyset: 将map中所有的键存入到set集合(即将所有的key值存入到set中) ...

  6. 关于 I/O Wait

    I/O wait is a per-CPU performance metric showing time spent idle, when there are threads on the CPU ...

  7. 配置WindowsLiveWriter,写cnblogs博客

    转载:http://www.haogongju.net/art/2307587 引言 以前写博客一般都是联网在cnblogs上面写,不好的地方就是不联网就写不了,当然我们也可以先记录在word文件,等 ...

  8. 可发布指定的ASP.NET页面的插件:LimusicAddin

    涉及到的技术点 VS插件开发.推荐阅读:Visual Studio 2008 可扩展性开发 asp.net 预编译.使用aspnet_comlier.exe(在目录:C:\Windows\Micros ...

  9. Dr.com校园网客户端故障解决方法

    一,登录客户端的时候提示“登录超时失败” 解决办法:单击桌面右下角的联网图标然后右键,打开网络和共享中心,在左侧导航栏中找到更改网络适配器,找到本地连接(或者无线连接),点击右键找到详细信息,看看ip ...

  10. DEVMODE 结构体

    typedef struct _devicemode { TCHAR dmDeviceName[CCHDEVICENAME]; //打印机(显示设备)名称 WORD dmSpecVersion; WO ...