NVL和COALESCE的区别:

nvl(COMMISSION_PCT,0)
如果第一个参数为null,则返回第二个参数
如果第一个参数为非null,则返回第一个参数

COALESCE(EXPR1,EXPR2,EXPR3...EXPRn)
从左往右数,遇到第一个非null值,则返回该非null值。
多层判断

第一点区别:从上面可以知道,nvl只适合于两个参数的,COALESCE适合于多个参数。

第二点区别:COALESCE里的所有参数类型必须保持一致,nvl可以不一致。

ps:1、select coalesce(to_char(PARENT_ID),'--') 项目名称,nvl(PARENT_ID,'FD') project_name,CATEGORY_CODE "name" from DM_TRANSGAP_ANALYSIS_CONFIG;

2、select coalesce(TO_CHAR(UPDATE_USER),TO_CHAR(PARENT_ID),'--') 项目名称,nvl(PARENT_ID,'FD') project_name,CATEGORY_CODE "name" from DM_TRANSGAP_ANALYSIS_CONFIG;

Connect By Prior(递归查询):

1、start with id= 是定义起始节点(种子),可以是id也可以是root_id,定义为root_Id查询该节点下所有的树结构,定义为id(子节点)则查询指定的树

2、connect by prior :prior的含义为先前,前一条记录。prior id=root_id 也就是前一条记录

的id等于当前记录的root_id(父id)
3、可以向下或者向上查找。。。。

4、level字段为oracle特有的层级字段,可以通过level字段查询指定的层级

select root_id,id,name,level from t2 where level=1

start with root_id = 0

connect by prior id = root_id;

年月日的日期处理:
(select sysdate from dual) time,  item.update_date>add_months(sysdate,-1) 
select (to_char(sysdate,'dd')-1) from dual

to_char(LAST_DAY(add_months(sysdate,-1)),'dd ') (to_char(sysdate,'hh24')-1),

select trunc(sysdate) from dual去掉时间保留日历,namely,2017/02/01

concat(to_char(sysdate,'yyyy')||to_char(add_months(sysdate,-1), '-MM-'),'01   namely 拼接返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL

//计算起止时间

Calendar calendar = Calendar.getInstance();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String endDate = sdf.format(calendar.getTime());
calendar.add(Calendar.HOUR_OF_DAY, Integer.parseInt(period) * (-1));
String startDate = sdf.format(calendar.getTime());

||在oracle中的作用是连接两个字符串

(select sysdate from dual) time,

item.update_date>add_months(sysdate,-1)

select (to_char(sysdate,'dd')-1) from dual

to_char(LAST_DAY(add_months(sysdate,-1)),'dd ')

(to_char(sysdate,'hh24')-1),

select trunc(sysdate) from dual去掉时间保留日历,namely,2017/02/01

concat(to_char(sysdate,'yyyy')||to_char(add_months(sysdate,-1), '-MM-'),'01   namely 拼接返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL

  • ||在oracle中的作用是连接两个字符串

substr(字段,a,b)a代表第几个位置b代表长度0和1的效果一样用负数则从右边开始数第几个位置

schema:
一个用户有一个缺省的schema,其schema名就等于用户名,当然一个用户还可以使用其他的schema。如果我们访问一个表时,没有指明该表属于哪一个schema中的,系统就会自动给我们在表上加上缺省的sheman名。比如我们在访问数据库时,访问scott用户下的emp表,通过select * from emp; 其实,这sql语句的完整写法为select * from scott.emp。在数据库中一个对象的完整名称为schema.object,而不属user.object。

SQL> select * from test;
NAME
----------
system

SQL> ALTER SESSION SET CURRENT_SCHEMA = scott; --改变用户缺省schema名
Session altered.

SQL> select * from test;
NAME
----------
scott

切断其他占用表的session:

select session_id from v$locked_object;

SELECT sid, serial#, username, osuser FROM v$session where sid = 81;

select session_id,serial# from v$locked_object a left join v$session b on a.session_id = b.sid; 

ALTER SYSTEM KILL SESSION '81,38658';

查询版本等信息:

SELECT * FROM v$version;

10g数据库不能有多余的with语句。

Oracle中的关键字的更多相关文章

  1. 如何查询oracle中的关键字

    如何查询oracle中的关键字,执行: select * from v$reserved_words

  2. 【oracle】Oracle中as关键字

    在Oracle中as关键字不能用于指定表的别名 在Oracle中指定表的别名时只需在原有表名和表的别名之间用空格分隔即可 但as关键字可以用于指定列的别名 但在存储过程中如果列的别名与原有列名相同,在 ...

  3. Oracle中with关键字的使用

    open p_cr1 for with sqla as (select d.*, (select c.STATICMONTH from ly_zg_jzfbtstatic c where c.ID = ...

  4. ORACLE中ESCAPE关键字用法

    ESCAPE用法 1.使用 ESCAPE 关键字定义转义符: 在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符. 2.ESCAPE 'escape_character'  允许在字符串中搜 ...

  5. Oracle中查询关键字select--from--where--group by--having--order by执行顺序

    select--from--where--group by--having--order by 这6个查询关键字的执行顺序: 1.from组装来自不同数据源的数据:2.where基于指定的条件对记录行 ...

  6. oracle中更新关键字merge和 with as关键字

    merge是oracle特有的语句,两表关联操作(增.删.改)就效率非常高 merge into table_name alias1 using (table|view|sub_query) alia ...

  7. Oracle中函数关键字简介

    常用的语法:select--from--where--group by--having--order by 1.分组子句group by +con 按什么分组 2.having子句  对上面分组的数据 ...

  8. Oracle中如何实现Mysql的两表关联update操作

    在看<MySQL 5.1参考手册>的时候,发现MySQL提供了一种两表关联update操作.原文如下: UPDATE items,month SET items.price=month.p ...

  9. 【Oracle】oracle中rownum的说明及使用技巧

    oracle中常用到ROWNUM,所以做一些本人对rownum的一些认识和使用技巧的记录,以便备查. 一.rownum的说明 rownum是oracle特有的一个关键字. (1)对于基表,在inser ...

随机推荐

  1. Direct2D教程(九)渲染位图

    概述 这篇的标题更确切的说应该叫位图画刷,这样才好和前几篇对应起来.在Direct2D中,位图的渲染也是通过画刷来实现的. Direct2D中并没有直接操作位图的接口,而是借助WIC(Windows ...

  2. 转置卷积&&膨胀卷积

    Convolution arithmetic tutorial theano Convolution arithmetric github 如何理解深度学习中的deconvolution networ ...

  3. jdk8之永久区Permanent区参数设置分析

    jdk8之永久区Permanent区参数设置分析 学习了:https://blog.csdn.net/wuhenzhangxing/article/details/78224905 jdk7中可以进行 ...

  4. 第一个Hello,OS World操作系统

    来自:清泛网 - http://www.tsingfun.com/html/2015/dev_0804/hello_os_word_my_first_os.html 首先阐述下程序运行的基本原理:计算 ...

  5. sql语言复习2

    一.查询 select 字段列表 from 表名列表 [where 条件表达式][group by 字段列表[having 条件表达式]] [order by 字段列表[asc|desc]] 含义:在 ...

  6. Spring延迟加载

    如下内容引用自:http://www.cnblogs.com/wcyBlog/p/3756624.html 1.Spring中lazy-init详解ApplicationContext实现的默认行为就 ...

  7. python(1)- 初识python

    一.了解编程语言 1.编程语言的定义 编程语言即语言,语言的本质就是沟通,因而编程语言与英语 .法语.日语等所有语言并无区别,只不过英语是人与人之间沟通的介质,而编程语言则是程序员与计算机沟通的介质. ...

  8. Linux基础(3)- 正文处理命令及tar命令、vi编辑器、硬盘分区、格式化及文件系统的管理和软连接、硬连接

    一.正文处理命令及tar命令 1)  将用户信息数据库文件和组信息数据库文件纵向合并为一个文件1.txt(覆盖) 2)  将用户信息数据库文件和用户密码数据库文件纵向合并为一个文件2.txt(追加) ...

  9. shell tr命令的使用

    http://fyan.iteye.com/blog/1172279 tr是translate的简写,亦即翻译,但是遗憾的是,它不能翻译句子,只能翻译单个字符. 1 tr的工作原理是什么? 先记住一点 ...

  10. 内核顶层Makefile相关1

    http://www.groad.net/bbs/simple/?f104.htm $(Q) 变量 内核 Makefile 文件 238 行到 259 行的注释中知道,$(Q) 变量的作用是决定是否在 ...