![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
你是我的海啸
I hate void
展开
-
mysql数据库
1. SQL的select语句完整的执行顺序SQL Select语句完整的执行顺序: 1、from子句组装来自不同数据源的数据; 2、where子句基于指定的条件对记录行进行筛选; 3、group by子句将数据划分为多个分组; 4、使用聚集函数进行计算; 5、使用having子句筛选分组; 6、计算所有的表达式; 7、select 的字段; 8、使...原创 2018-03-15 11:44:42 · 376 阅读 · 0 评论 -
数字函数
数学函数的输入参数和返回值的数据类型都是数字类型的。数学函数包括cos,cosh,exp,ln, log,sin,sinh,sqrt,tan,tanh,acos,asin,atan,round,我们讲最常用的: round(n,[m])该函数用于执行四舍五入,如果省掉m,则四舍五入到整数,如果m是正数, 则四舍五入到小数点的m位后。如果m是负数,则四舍五入到小数点的m位前。 trunc(n,[m]...原创 2018-03-12 14:38:11 · 2522 阅读 · 0 评论 -
字符函数
字符函数是oracle中最常用的函数,我们来看看有哪些字符函数: lower(char):将字符串转化为小写的格式. upper(char):将字符串转化为大写的格式. length(char):返回字符串的长度。 substr(char,m,n):取字符串的子串;n代表取n个的意思,不是代表取到第n个 replace(char1,search_string,replace_string) ins...原创 2018-03-12 14:38:33 · 228 阅读 · 0 评论 -
触发器限定
限定只对部门号为80的记录进行行触发器操作。CREATE OR REPLACE TRIGGER tr_emp_sal_commBEFORE UPDATE OF salary, commission_pct OR DELETEON HR.employeesFOR EACH ROWWHEN (old.department_id = 80)BEGIN CASE WHE...原创 2018-03-12 14:39:19 · 464 阅读 · 0 评论 -
删除触发
建立一个触发器, 当职工表 emp 表被删除一条记录时,把被删除记录写到职工表删除日志表中去。--创建一个职工表删除日志表,1永远不等于2,所以只会复制字段。CREATE TABLE emp_his AS SELECT * FROM EMP WHERE 1=2; CREATE OR REPLACE TRIGGER tr_del_emp BEFORE DELETE --指定触发时机为删除操...原创 2018-03-12 14:40:30 · 769 阅读 · 0 评论 -
修改触发
限制对Departments表修改(包括INSERT,DELETE,UPDATE)的时间范围,即不允许在非工作时间修改departments表。CREATE OR REPLACE TRIGGER tr_dept_timeBEFORE INSERT OR DELETE OR UPDATE ON departmentsBEGIN IF (TO_CHAR(sysdate,'DAY') IN ('...原创 2018-03-12 14:43:04 · 221 阅读 · 0 评论 -
判断该用户是否属于这个组织
function IF_USER_IN_ORG(l_userid varchar2,l_org varchar2) return varchar2 IS l_result_count number; begin IF l_org='*' THEN RETURN 'Y'; ELSE SELECT COUNT(*) into l_result_cou...原创 2018-03-12 14:45:54 · 289 阅读 · 0 评论 -
查看序列
select sequence_name,min_value,max_value,increment_by,last_number from user_sequences;原创 2018-03-12 14:46:26 · 242 阅读 · 0 评论 -
Oracle trunc()函数用法
--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2013-01-06 今天的日期为2013-01-062.select trunc(sysdate, 'mm') from dual --2013-01-01 返回当月第一天.3.select trun...原创 2018-03-12 14:47:19 · 197 阅读 · 0 评论 -
PL/SQL代码块
DECLARE -- 声明变量 countTemp int := 0;-- 带赋值的声明 BEGIN -- 可执行语句开始 DBMS_OUTPUT.put_line('开始执行可执行语句块!'); for temp in(select usr_code from r5users where usr_group in(select t.aut_group from r5a...原创 2018-04-04 14:51:11 · 360 阅读 · 0 评论 -
SQL语句案例
1.笔试SQL2005-05-09 胜2005-05-09 胜2005-05-09 负2005-05-09 负2005-05-10 胜2005-05-10 负2005-05-10 负如果要生成下列结果, 该如何写sql语句? 胜 负2005-05-09 2 22005-05-10 1 2create table shengfu(...原创 2018-04-25 14:03:26 · 415 阅读 · 0 评论 -
日期函数
日期函数用于处理date类型的数据。默认情况下日期格式是dd-mon-yy即12-7月-78(1)sysdate: 该函数返回系统时间(2)add_months(d,n)在日期d上增加n个月(3)last_day(d):返回指定日期所在月份的最后一天问题:查找已经入职8个月多的员工SQL> select * from emp wheresysdate>=add_months(hired...原创 2018-03-12 14:37:40 · 256 阅读 · 0 评论 -
转换函数
转换函数用于将数据类型从一种转为另外一种。在某些情况下,oracle server允许值的数据类型和实际的不一样,这时oracle server会隐含的转化数据类型比如:create table t1(idint);//这里 注意int不是关键字在oracle下insert into t1 values('10');-->这样oracle会自动的将10 -->'10 ’create t...原创 2018-03-12 14:37:18 · 297 阅读 · 0 评论 -
Oracle数据库
1. 什么是存储过程,使用存储过程的好处? 存储过程(Stored Procedure )是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。 优点: (1)允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以...原创 2018-03-15 11:57:08 · 142 阅读 · 0 评论 -
sql语句把查询语句横过来
select (select r.succession_time from r5_relieve r where r.re_id = (select distinct dd.re_id from r5_yxrz_data dd where dd.group_line_id = s.group_line_id)) re_date,(select r.succ_person_name from ...原创 2018-03-12 13:50:18 · 622 阅读 · 0 评论 -
Oracle 行转列小结
主要原理是利用decode函数、聚集函数(sum/max/min/avg),结合group by分组实现的,具体sql如下: select t.user_name as 姓名, MAX(decode(t.course,'语文',score,null)) as 语文, MAX(decode(t.course,'数学',score,null)) as 数学...原创 2018-03-12 13:53:34 · 370 阅读 · 0 评论 -
decode对字符列进行特定的排序
select decode(count(*),0,'F','T') isEx from bborder by对字符列进行特定的排序大家还可以在Order by中使用Decode。例:表table_subject,有subject_name列。要求按照:语、数、外的顺序进行排序。这时,就可以非常轻松的使用Decode完成要求了。select * from table_subject order by...原创 2018-03-12 14:25:25 · 2131 阅读 · 0 评论 -
left join on左连接的使用
把left join左边的表的记录全部找出来。系统会先用表A和表B做个笛卡儿积,然后以表A为基表,去掉笛卡儿积中表A部分为NULL的记录。最后形成你的结果。–进行左连接时,就有涉及到主表、辅表,这时主表条件写在WHERE之后,辅表条件写在ON后面。...原创 2018-03-12 14:25:58 · 832 阅读 · 0 评论 -
树start with connect by prior 递归查询用法
start with 子句:遍历起始条件,有个小技巧,如果要查父结点,这里可以用子结点的列,反之亦然。connect by 子句:连接条件。关键词prior,prior跟父节点列parentid放在一起,就是往父结点方向遍历;prior跟子结点列subid放在一起,则往叶子结点方向遍历,parentid、subid两列谁放在“=”前都无所谓,关键是prior跟谁在一起。select b.pid, ...原创 2018-03-12 14:26:29 · 296 阅读 · 0 评论 -
本人工作中涉及到的运行日志存储过程
create or replace package body R5_YXRZ_DATE_SHOW_PKG is -- 通过日志定义ID,得到当前日志数据的查询SQL function getYXRZQuerySql(l_rz_id number) return varchar2 is l_sql varchar2(4000); l_row_des ...原创 2018-03-12 14:30:40 · 269 阅读 · 0 评论 -
新建表空间
CREATE TABLESPACE DTHY 2 LOGGING 3 DATAFILE 'D:\app\chang\oradata\orcl\DTHY.dbf' size 50M 4 4 default storage(initial 1M 5 next 1M -----------这两行写的应该是自动增加表空间大小吧 6 minextents 1 7 maxextents unlimited 8...原创 2018-03-12 14:32:17 · 150 阅读 · 0 评论 -
工作中写的报表sql
select (select t.uco_desc from r5ucodes t where t.uco_rentity = 'JBTP' AND t.uco_rcode = 'ST' AND T.UCO_CODE = r.evt_jobtype) TYPE, (select t.MR...原创 2018-03-12 14:34:15 · 2010 阅读 · 0 评论 -
系统函数
sys_context1)terminal:当前会话客户所对应的终端的标示符2)language: 语言3)db_name: 当前数据库名称4)nls_date_format: 当前会话客户所对应的日期格式5)session_user: 当前会话客户所对应的数据库用户名6)current_schema:当前会话客户所对应的默认方案名7)host: 返回数据库所在主机的名称通过该函数,可以查询一些...原创 2018-03-12 14:36:43 · 1433 阅读 · 0 评论 -
Oracle数据库中文排序问题记录
按照拼音顺序:ORDER BY nlssort(NAME, 'NLS_SORT=SCHINESE_PINYIN_M')按照部首顺序:ORDER BY nlssort(NAME, 'NLS_SORT=SCHINESE_RADICAL_M')按照笔画顺序:ORDER BY nlssort(NAME, 'NLS_SORT=SCHINESE_STROKE_M')...原创 2018-09-13 14:28:49 · 794 阅读 · 0 评论