start with ...connect by --转载
/*******************************************************************************通过START WITH . . . CONNECT BY . . .子句来实现SQL的层次查询.自从Oracle 9i开始,可以通过 SYS_CONNECT_BY_PATH 函数实现将父节点到当前行内容以“path”或者层次元素列表的形式显示出来。自从Oracle 10g 中,还有其他更多关于层次查询的新特性 。例如,有的时候用户更关心的是每个层次分支中等级最低的内容。那么你就可以利用伪列函数CONNECT_BY_ISLEAF来判断当前行是不是叶子。如果是叶子就会在伪列中显示“1”,如果不是叶子而是一个分支(例如当
connect by
对于connect by,现在大多数人已经很熟悉了connect by中的条件就表示了父子之间的连接关系比如 connect by id=prior pid但如果connect by中的条件没有表示记录之间的父子关系那会出现什么情况?常见的,connect by会在构造序列的时候使用用select rownum from dual connect by rownum<xxx 代替早期版本的 select rownum from all_objects where rownum <xxx我们注意到,dual是一个只有一条记录的表,如果表有多条记录,将会怎样?下面开始实验环境:windows xp sp2 + Oracle 9208(10.1版本connect by有问题)CREATE TABLE T( ID
GB 11714-1997 全国组织机构代码编制规则 自己写的DB2函数
具体规范详见GB 11714-1997 全国组织机构代码编制规则.pdf验证ORGCODE是否合法,合法返回1,不合法返回0形如'66195133X' 或是 '66195133-X'组织机构代码是每一个机关、社会团体、企事业单位在全国范围内唯一的、始终不变的法定代码标识。最新使用的组织机构代码在1997年颁布实施,由8位数字(或大写拉丁字母)本体代码和1位数字(或大写拉丁字母)校验码组成。本体代码采用系列(即分区段)顺序编码方法。校验码按下列公式计算:8C9 = 11 - MOD ( ∑Ci * Wi ,11) … (2)i=1其中:MOD —— 表示求余函数;i —— 表示代码字符从左到右位置