先来设计一下表结构: create table city(id varchar(3) , pid varchar(3) , name varchar(10)); 下面我们造几条测试数据: INSERT INTO city values('001','0','宁波市');INSERT INTO city values('002','001','镇海区');INSERT INTO city values('003','001','北仑区');INSERT INTO city values('004'…
1.group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果.比较抽象,难以理解. 通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来.要返回哪些列,由函数参数(就是字段名)决定.分组必须有个标准,就是根据group by指定的列进行分组. group_concat函数应该是在内部执行了group by语句,这是我的猜测. 1.测试语句: select group_concat(town) from p…
sqlserver 2008 写法 select t.PROJECTNAME, t.BUILDCONTENTSCALE, CASE t.PROJECTLEVEL ' THEN '国家重点' ' THEN '省重点' ' THEN '市重点' ' THEN '区/县重点' END AS PROJECTLEVEL, t.TOTALINVESTMENT, t.PROGRESSCONTENT, t.BUILDCOMPANY, t.CONTACTWAY, t.DUTYDEPT, t.REMARK from…
最近使用mysql开发一个项目,发现没有像之前在用oracle数据中那样有to_date方法.mysql中实现日期格式化的方法为date_to_str('日期字符串','日期格式'),而且mysql中的日期格式的写法和oracle也不同. mysql中用法为:str_to_date('2012-05-01 23:59:59','%Y-%m-%d %T') %Y:代表4位的年份 %y:代表2为的年份 %m:代表月, 格式为(01……12)  %c:代表月, 格式为(1……12) %d:代表月份中的…
CREATE TABLE `sequence` ( `seq_name` varchar(50) NOT NULL, `current_val` int(11) NOT NULL, `increment_val` int(11) NOT NULL DEFAULT '1', PRIMARY KEY (`seq_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; --------------------------------------------------…
转自:https://www.iteye.com/blog/libaxiaoyuan-2199851 Oracle9i之前,中文是按照二进制编码进行排序的.在oracle9i中新增了按照拼音.部首.笔画排序功能. 设置NLS_SORT值即可. SCHINESE_RADICAL_M 按照部首(第一顺序).笔划(第二顺序)排序 SCHINESE_STROKE_M 按照笔划(第一顺序).部首(第二顺序)排序 SCHINESE_PINYIN_M 按照拼音排序 使用方法如下: 拼音 SELECT * FR…
在移动端的spa页面中,只要使用到了路由就很有必要使用到状态保存的功能,这样才能保证在页面进行切换的时候,让用户可以看到刚才滑动的地方,让用户的体验更加友好.这儿我找到了react-router-cache-route这个插件,使用方法直接参考文档. 在使用了这个插件以后,结合着antd-mobile使用时.会出现轮播图空白的现象,这个现象在手机端显得忧外的明显 上面问题的解决方法就是使用 react-router-cache-route 这个插件以后额外引入的声明周期,然后使用 forceUp…
vertica中没有类似Oracle中的ws_concat函数功能,需要开发UDF,自己对C++不熟悉,所有只有想其他方法解决了. 上代码: SELECT node_state, MAX(DECODE(row_number, 1, a.node_name)) || NVL(MAX(DECODE(row_number, 2, ',' || a.node_name)), '') || NVL(MAX(DECODE(row_number, 3, ',' || a.node_name)), '') ||…
原文地址:http://it.dataguru.cn/article-3352-1.html 摘要: 本地MySQL数据库要访问远程MySQL数据库的表中的数据, 必须通过FEDERATED存储引擎来实现. 有点类似Oracle中的数据库链接(DBLINK). 要允许这个存储引擎, 当构建MySQL时使用--with-federated-storage-engine来configure ... 1 引擎说明 本地MySQL数据库要访问远程MySQL数据库的表中的数据, 必须通过FEDERATED…
1 引擎说明 本地MySQL数据库要访问远程MySQL数据库的表中的数据, 必须通过FEDERATED存储引擎来实现. 有点类似Oracle中的 数据库链接(DBLINK). 要允许这个存储引擎, 当构建MySQL时使用--with-federated-storage-engine来configure. 当创建一个FEDERATED表的时候, 服务器在数据库目录创建一个表定义文件. 文件由表的名字开始, 并有一个.frm扩展名. 无其它文件被创建, 因为实际的数据在一个远程数据库上. 使用FED…
  假设表格为student, 数据如下:   我们要在MySQL中实现Oracle中的rank()函数功能,即组内排序,具体来说: 就是对student表中按照课程(course)对学生(name)按分数(score)高低进行排名.   首先新建存储过程realize_rank_in_MySQL,代码如下: DROP PROCEDURE IF EXISTS realize_rank_in_MySQL; DELIMITER ;; CREATE PROCEDURE realize_rank_in_…
oracle中类似indexof用法_instr函数 [sql] 在oracle中没有indexof()函数 但是提供了一个 instr() 方法 具体用法: select instr('保定市南市区','市',1,1)-1 from dual; 解释:1. '保定市南市区' =>可以是表达式,也可以是具体数据           2. '市'=>为分离的标志,这里为两组数据中的“市”这个字           3. 第一个1为从左边开始,如果为-1,则从右边开始.           4.…
oracle中的树状查询 工作中经常会遇到将数据库中的数据以树的形式展现的需求.以下我们来看一下该需求在Oracle中如何实现. 首先我们需要有一个树形的表结构(当然有时候会出现表结构不是典型的树形结构,而是多表存储,需要根据多表连接查询生成树) 一.树型表结构:节点ID  上级ID  节点名称 二.用法: select 节点ID,节点名称,levelfrom 表名connect by prior 节点ID=上级节点IDstart with 上级节点ID=节点值 说明:1.常见的树形结构为公司组…
Oracle中的索引概述 索引与表一样,也属于段(segment)的一种.里面存放了用户的数据,跟表一样需要占用磁盘空间.索引是一种允许直接访问数据表中某一数据行的树型结构,为了提高查询效率而引入,是一个独立于表的对象,可以存放在与表不同的表空间中.索引记录中存有索引关键字和指向表中数据的指针(地址).对索引进行的I/O操作比对表进行操作要少很多.索引一旦被建立就将被Oracle系统自动维护,查询语句中不用指定使用哪个索引.    从物理上说,索引通常可以分为:分区和非分区索引.常规B树索引.位…
  死锁的概念 什么是死锁呢? 其实我们生活中也有很多类似死锁的例子. 我先举一个生活中的例子:过年回家,父亲买了一把水弹枪,儿子和侄子争抢着要先玩,谁也不让谁,拆开包装后,一个抢了枪, 一个逮住了子弹和弹夹.两个都争着要先玩,但是都互不相让.结果两个人都玩不了.如果儿子要先玩,就必须让侄子把子弹和弹夹给他,如果侄子要先玩,就必须让儿子把枪给侄子.他们就这样对峙了十几分钟,互不相让. 我出来调停,让儿子把枪先给侄子玩,每个人玩十分钟.然后两个人开开心心一起玩起来.其实这就是一个活生生的死锁(De…
索引概述 索引与表一样,也属于段(segment)的一种.里面存放了用户的数据,跟表一样需要占用磁盘空间.只不过,在索引里的数据存放形式与表里的数据存放形式非常的不一样.在理解索引时,可以想象一本书,其中书的内容就相当于表里的数据,而书前面的目录就相当于该表的索引.同时,通常情况下,索引所占用的磁盘空间要比表要小的多,其主要作用是为了加快对数据的搜索速度,也可以用来保证数据的唯一性.但是,索引作为一种可选的数据结构,你可以选择为某个表里的创建索引,也可以不创建.这是因为一旦创建了索引,就意味着o…
oracle中比较两表表结构差异和数据差异的方法 原作者:li2008xue2008ling  出处:http://blog.csdn.net       在工作中需要完成这么一个需求:比较两个表的表结构是否形相同,并找出差异.比较两个表中的数据是否相同,并找出差异数据? 分析:由于表结构中字段比较多,手工比较很浪费时间,而且不能保证不出错误.对于表中的数据那就能多了,更不能靠这种方式比较. 为了思考问题简单和方便测试,首先先建立两个测试表,并插入一些测试数据吧,sql如下: create ta…
索引的分类 如下: 物理分类 逻辑分类 分区或非分区索引 单列或组合索引 B树索引(标准索引) 唯一或非唯一索引 正常或反向键索引 基于函数索引 位图索引   B树索引 b树索引通常也称为标准索引,索引的顶部为根,其中包含指向索引中下一级的项,下一级为分支块,分支块又指向索引中下一级的块.最低级为叶节点 ,其中包含指向表行的索引项.叶块为双向链接,有助于按关键字值的升序和降序扫描索引 要深入了解B树索引可以去这里:https://blog.csdn.net/kennyrose/article/d…
ORACLE中死锁的知识点总结   死锁的概念 什么是死锁呢? 其实我们生活中也有很多类似死锁的例子. 我先举一个生活中的例子:过年回家,父亲买了一把水弹枪,儿子和侄子争抢着要先玩,谁也不让谁,拆开包装后,一个抢了枪, 一个逮住了子弹和弹夹.两个都争着要先玩,但是都互不相让.结果两个人都玩不了.如果儿子要先玩,就必须让侄子把子弹和弹夹给他,如果侄子要先玩,就必须让儿子把枪给侄子.他们就这样对峙了十几分钟,互不相让. 我出来调停,让儿子把枪先给侄子玩,每个人玩十分钟.然后两个人开开心心一起玩起来.…
1.Oracle 索引简介      在Oracle数据库中,存储的每一行数据都有一个rowID来标识.当Oracle中存储着大量的数据时,意味着有大量的rowID,此时想要快速定位指定的rowID,就需要使用索引对象.当对Oracle表执行指定条件的查询时,常规的方法是将所有的记录取出来,然后再把每一条记录与查询条件作对比,最后返回满足条件的记录.这样操作不仅耗费时间并耗费资源.当有了索引之后,只需要在索引中找到符合查询条件的索引字段值,就可以通过保存在索引中的rowID快速找到表中对应的记录…
LTRIM.RTRIM和TRIM在ORACLE中的用法:1.LTRIM(C1,C2)其中C1和C2都可以字符串,例如C1是'Miss Liu',C2'MisL'等等.这是第一个和SQL SERVER不一样的地方.如果记得不错的话SQL Server的LTRIM只有一个参数,作用是去掉字符串左面的空格.而Oracle的LTRIM则是保证C1的第一个字符不能出现在C2字符串中. SQL> select LTRIM( 'Miss Liu', 'Liu') Result  from dual; RESU…
spl> select * from emp         where dates          between         to_date('2007-06-12 10:00:00', 'yyyy-mm-dd hh24:mi:ss')         and         to_date('2007-06-12 10:00:00', 'yyyy-mm-dd hh24:mi:ss') 当省略HH.MI和SS对应的输入参数时,Oracle使用0作为DEFAULT值.如果输入的日期数据忽…
oracle中函数和存储过程的区别和联系[转载竹沥半夏] 在oracle中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,但也有自己的特点.刚学完函数和存储过程,下面来和大家分享一下自己总结的关于函数和存储过程的区别. 一.存储过程 1.定义 存储过程是存储在数据库中提供所有用户程序调用的子程序,定义存储过程的关键字为procedure. 2.创建存储过程 create [or replace] procedure 存储过程名 [(参数1 类型,参数2 out 类型……)] as…
在Oracle中,SYS_CONNECT_BY_PATH函数主要作用是可以把一个父节点下的所有子节点通过某个字符进行区分,然后连接在一个列中显示. sys_connect_by_path(字段名, 2个字段之间的连接符号),注意这里的连接符号不要使用逗号,oracle会报错,如果一定要用,可以使用replace替换一下, 方法如下 REPLACE(字段名,原字符,','). 还有,这个函数使用之前必须先建立一个树,否则无用.   select  length(mc),mc,length( rep…
看来有的人还是对schema的真正含义不太理解,现在我再次整理了一下,希望对大家有所帮助. 我们先来看一下他们的定义:A schema is a collection of database objects (used by a user.). Schema objects are the logical structures that directly refer to the database’s data.A user is a name defined in the database t…
Oracle中group by用法 在select 语句中可以使用group by 子句将行划分成较小的组,一旦使用分组后select操作的对象变为各个分组后的数据,使用聚组函数返回的是每一个组的汇总信息. 使用having子句 限制返回的结果集.group by 子句可以将查询结果分组,并返回行的汇总信息Oracle 按照group by 子句中指定的表达式的值分组查询结果. 在带有group by 子句的查询语句中,在select 列表中指定的列要么是group by 子句中指定的列,要么包…
MySQL实现类似Oracle的序列 2013-10-22 10:33:35     我来说两句      作者:走过的足迹 收藏    我要投稿 MySQL实现类似Oracle的序列   Oracle一般使用序列(Sequence)来处理主键字段,而MySQL则提供了自增长(increment)来实现类似的目的: 但在实际使用过程中发现,MySQL的自增长有诸多的弊端:不能控制步长.开始索引.是否循环等:若需要迁移数据库,则对于主键这块,也是个头大的问题. 本文记录了一个模拟Oracle序列的…
对于Oracle中没有 if exists(...) 的语法,目前有许多种解决方法,这里先分析常用的三种,推荐使用最后一种 第一种是最常用的,判断count(*)的值是否为零,如下declare  v_cnt number;begin  select count(*) into v_cnt from T_VIP where col=1;  if v_cnt = 0 then    dbms_output.put_line('无记录');  end if;end;首先这种写法让人感觉很奇怪,明明只…
oracle中如何对字符串进行去除空格的方法 今天学习了一下oracle中如何对字符串进行去除空格的方法,这里总结一下.了解到的方法主要有两种:Trim函数以及Replace函数.下面我详细的介绍一下,这两种用法,不足的地方还望各位朋友补充. 首先便是这Trim函数.Trim 函数具有删除任意指定字符的功能,而去除字符串首尾空格则是trim函数被使用频率最高的一种.语法Trim ( string ) ,参数string:string类型,指定要删除首部和尾部空格的字符串返回值String.函数执…
oracle 中的游标 通俗易懂的sql代码直接上! --简单的游标使用滴呀 --使用FOR OBJ IN OBJS LOOP ......END LOOP; DECLARE CURSOR C_JOB IS SELECT NAME,COURSE,GREADE FROM STU; C_ROW C_JOB%ROWTYPE; BEGIN --利用for循环来使用取出我们的结果结合: FOR C_ROW IN C_JOB LOOP DBMS_OUTPUT.put_line(C_ROW.NAME||'--…