在SQL中,拆分字符
/**需求找出ID相同,name中有两个字符相同的ID*****/-----创建测试表 tblCREATE TABLE tbl ASSELECT '1001' id, '张三风' NAME FROM dualUNIONSELECT '1001' id, '张三丰' NAME FROM dualUNIONSELECT '1002' id, '...
oracle 中我比较容易忽略的两个函数:translate()和cast()
oracle 中我比较容易忽略的两个函数:translate()和cast() translate()和cast()这两个函数本没有什么特别的东西,但是我经常容易忘记或者想不起这两个函数的用法,所以本次特地在此做个记录; 1、cas...
oracle 11g model子句的用法
oracle 11g model子句的用法 --1、语法MODEL[<global reference options>][<reference models>][MAIN <main-name>] [PARTITION BY (<cols>)] DIMENSION BY (<cols>) MEASURES (<cols>)&nb...
oracle 高级查询start with...connect by...
oracle 高级查询start with...connect by... start with定义了层次化查询的起点。connect by prior定义了父行和子行之间的关系。例如start with employee_id=1 connect by prior employee_id=manager_id表...
小议binary_float和binary_double数据类型
小议binary_float和binary_double数据类型 binary_float和binary_double是Oracle 10g引入的两种新的数据类型,binary_float可以存储32位浮点数;binary_double可以存储64位浮点数。 binary_float和bin...
SQL趣题:按某种区间规则返回今年每月的星期(注意闰年天数为366)
这是我在论坛中某个帖子里见到的需求,想了一下,用几种方法解决了! 原帖地址:http://www.itpub.net/thread-1630882-1-1.html 原帖需求:如下我要算 一个月的 1号是 第一周2号—8号是第二周9...
truncate 和 delete 的区别
truncate 和 delete 的区别 1、truncate 是清空一张表,相当于delete from table; 2、truncate 是DDL,delete是DML操作; 3、truncate 表数据后,内存中便不存在这些数据了,除非应用特殊手...
oracle 11g 新特性—行列转换—pivot和unpivot
oracle 11g 新特性——行列转换——pivot和unpivot oracle 11g增加了两个行列转换的查询方式:Pivot 和 unpivot 下面举例说明其应用: 第一:行转列--pivot SQL> select * from t...
小议rollup、cube、grouping sets、grouping、grouping_id在报表查询中的应用!
在报表语句中经常要使用各种分组汇总,rollup和cube就是常用的分组汇总方式。第一:group by rollup1、如果使用诸如group by rollup(A,B,C)的方式分组,那么返回的分组结果是(A,B,C) (A,B) (A) (NULL) 一共四种结...
利用rowid巧妙删除两列的相同记录
现实中总会遇到这样的问题:ID NAME1 NAME21001 AB BA1002 AC CA1003 BA AB...
巧用rowid来删除重复记录
巧用rowid来删除重复记录第一:当重复的记录只有1条时:在oracle中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的,rowid确定了每条记录是oracle中的哪一个数据文件、块、行上。在重复的记录中,可能所有...
merge into 的用法
MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描...
oracle中随机数的产生函数!
1.dbms_random.value方法dbms_random是一个可以生成随机数值或者字符串的程序包。这个包有initialize()、seed()、terminate()、value()、normal()、random()、string()等几个函数,但value()是最常用的,value()的...
用两种方法实现新增列的稠化功能
我有以下这样一张表:SQL> SELECT * FROM st1;A START1 END1 D---------- ----------...
巧用rownum实现分析函数row_number()的功能
用rownum实现分析函数row_number()的功能,即根据表中某一列输出一个唯一编号。 SQL> select * from t; DOCID NAME &...
求两个字符比较操作的最少距离的函数
问题抽象归类:(编辑距离问题)设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括:(1) 删除一个字符;(2) 插入一个字符;(3) 将一个字符改为另一个字符...
用SQL求出重叠的矩形!
题目:只要有一个矩形的点,在另一个矩形中,就算重叠。可以是多个矩形的点,在一个矩形内--具体的测试数据及SQL如下:--create table!create table retangle (name varchar2(10),p1x number(8,2),p1y number(8,2...
用Merge into与分析函数窗口函数实现一类叠加功能!
表结构与数据如下:CREATE TABLE TLAG(ID NUMBER,A NUMBER, B NUMBER,C NUMBER);INSERT INTO TLAG VALUES(1,4,1,NULL);INSERT INTO TLAG VALUES(2,3,5,NULL);INSERT INTO TLAG VALUES(3,9,3,NULL);INSERT INTO TLAG ...
SQL趣题:分组按位求或
题目:要求:按照id分组,bitnum 按位求或 建表语句及测试数据如下:SQL> create table table_bit (id number(6,0),bitnum varchar2(10));表已创建。SQL> insert into table_bit values(1,'001');已创建 ...
用SQL找出未来100年内的今天同样是星期四的日期
今天是6月21日,星期四,我找出了未来100年内的今天同样是星期四的日期SQL> WITH 2 t AS (SELECT rownum rn FROM dual CONNECT BY rownum<=100), 3 tt AS (SELECT add_...