![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
oracle
DG_DH168
这个作者很懒,什么都没留下…
展开
-
Oracle Package学习
定义package以及存储过程的使用1.定义一个包,声明一个存储过程和函数create or replace package dh_area_pkg is --dh_area_pkg为包名 procedure getAreaList; --声明存储过程 无参 function getAreaTotal return number; --声明函数 无参end dh_area_pk...原创 2019-11-16 16:31:02 · 203 阅读 · 0 评论 -
Oracle MONTHS_BETWEEN函数
语法:MONTHS_BETWEEN(DATE1,DATE2)该函数返回两个日期之间的月份数,如果date1比date2晚,那么就返回一个正数; 如果date1比date2早,那么就返回一个负数; 如果date1和date2日期一样,那么就返回一个0。Select Months_Between(To_Date('20190929', 'yyyymmdd'), To_Date('20190829'...原创 2019-09-29 21:49:19 · 806 阅读 · 0 评论 -
Oracle 时间及Trunc函数
select to_char(Sysdate,'yyyy-mm-dd HH24:MI:SS') from dual; --当前时间select to_char(Sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual --当前时间加1天select to_char(Sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual ...原创 2019-09-28 10:55:51 · 404 阅读 · 0 评论 -
Oracle lpad() rpad()函数
lpad函数从左边对字符串使用指定的字符进行填充。可以理解,l是left的简写,pad是填充的意思,所以lpad就是从左边填充的意思,反之 ,rpad函数从右边对字符串进行填充。语法:lpad( string, padded_length, [ pad_string ] )string:被填充的字符串;padded_length:填充之后的字符串长度,也就是该函数返回的字符串长度,如果这个...原创 2019-09-03 23:28:45 · 436 阅读 · 0 评论 -
Oracle decode函数
decode函数的用法相当于多个if … then …语句DECODE(value,if1,then1,if2,then2,if3,then3,…,else),表示如果value 等于if1时,DECODE函数的结果返回then1,…,如果不等于任何一个if值,则返回else。With t1 as ( select 1 id,'AA' name_ , to_date('20...原创 2019-09-03 23:16:49 · 416 阅读 · 0 评论 -
Oracle 分组排序函数使用,获取分组第一条数据
Oracle 常用 group by 来进行分组查询,但这里使用row_number()over(partition by 字段1 order by 字段2 ),字段1表示根据此字段分组,字段2表示排序,此函数计算的值就表示每组内部排序后的顺序编号。With t1 as ( select 1 id,'AA' name_ , to_date('2019-08-17 22:1...原创 2019-08-17 22:24:11 · 1878 阅读 · 0 评论 -
Oracle regexp_substr函数截取子字符串
regexp_substr函数支持正则表达式来对字符串进行切割。regexp_substr函数语法:regexp_substr( expression, regular-expression [, start-offset [ , occurrence-number [, escape-expression ] ] ] );参数解释:参数:expression 被搜索的字符串。reg...原创 2019-08-16 20:18:06 · 1582 阅读 · 0 评论 -
Oracle LISTAGG()函数
使用 LISTAGG() WITHIN GROUP () 将多行数据合并成一行。With t1 as ( select 1 id,'AA' name_ , to_date('2019-08-17 22:14:20','yyyy-MM-dd HH24:mi:ss') createDate from dual UNION select 2 id,'BB' name_ , to...原创 2019-08-24 10:56:57 · 397 阅读 · 1 评论 -
Oracle UNPIVOT-列转行函数
语法:unpivot(新增值所在列的列名 for 新增列转为行后所在列的列名 in (需转为行的列名));执行原理:将pivot函数或unpivot函数接在查询结果集的后面。相当于对结果集进行处理。测试数据With ft as (select 1 id,'路飞' name_, 17 age, '无厘头船长' position_,170 height_ from dualUnion se...原创 2019-07-28 14:11:15 · 1748 阅读 · 0 评论 -
Oracle 高级函数 SYS_CONNECT_BY_PATH
语法:Oracle函数:SYS_CONNECT_BY_PATH主要用于层次查询)以及多列转行。用法:select … sys_connect_by_path(column_name,’/’) from tablestart with … connect by … prior1.测试数据With tt as ( select 1 id,'AA' name, 0 pid, 1 leve...原创 2019-07-27 12:21:09 · 625 阅读 · 0 评论 -
Oracle wm_concat函数
行专列 wm_concat()函数1.测试数据:With t1 as (select 1 id,'路飞' name, 17 age, '无厘头船长' position from dual UNION select 2 id,'卓洛' name, 19 age ,'路痴狂' position from dual UNION select 3 id,'三治' name, 20 age ,'好色...原创 2019-07-27 11:44:10 · 506 阅读 · 0 评论 -
Oracle 递归查询
oracle递归查询语法:select … from tablename where 条件4 start with 条件1 connect by prior 条件2 AND 条件3--查询子节点select * from dh_area tstart with t.areaid = 1connect by prior t.areaid = t.parentid;--查询父节点...原创 2019-07-25 21:37:59 · 578 阅读 · 0 评论