【层次查询】Hierarchical Queries之“树的遍历”
在介绍层次查询的过程中,我们将会反复使用到下面这棵“树”,虽然它看上去只是一棵很普通的树,但其中蕴含着很多值得探索的内容。 A /...
【函数】Oracle的常用字符函数实验展示(二)
此文是《【函数】Oracle的常用字符函数实验展示(一)》的姊妹篇。参考地址:http://space.itpub.net/519536/viewspace-623692GO ON ...8.REPLACE函数REPLACE函数完成替换功能,如果不指定替换的内容将会删除与之匹...
【函数】Oracle的常用字符函数实验展示(一)
Oracle提供了众多实用的字符函数,在众多的字符函数中常用的并不多,精通常用的几个字符函数便可游刃有余。通过这个小文儿简单演示一下常用字符函数的用法,供参考。1.实验预备动作1)创建实验表Tsec@ora10g> cr...
【SQL】小CASE
SQL中的CASE语句可以完成很多有意义的事情,通过这个小文儿给大家展示一下使用CASE语句做一个自我介绍。1.创建实验表T,并初始化数据。sec@ora10g> create table t (x varchar2(8));sec@ora10g> insert into t value...
【SQL】“乾坤大挪移”
SQL的魅力就在于可以使用它演变出层出不穷效果。SQL在于折腾。看一下仅仅使用substr和length函数给我们带来的乐趣。看SQL,不说话。sec@ora10g> col secooler for a8sec@ora10g> select substr ('secooler',...
【Tip】使用TO_DATE和TO_CHAR函数让Oracle自己去数数
Oracle从1977年的雏形成长到现在已经32岁了,她是相当的聪明可人,您看,她都会数数了。看一下TO_DATE和TO_CHAR函数“混合打法”能给我们带来怎样的神奇。1.“一”的发音sec@ora10g> col count_number for a60se...
【Tip】解决like中无法匹配下划线的问题
如果想检索出字段中包含下划线“_”的内容,该如何书写SQL语句呢?之所以问这个问题,是因为在Oracle中下划线在like中有着特殊的含义,它表示匹配任意一个字符。因此在查询包含下划线内容的时候需要“特殊关照”一下...
【PL/SQL】使用变量传递方法生成表更名的SQL语句
在某些情况下需要将PL/SQL中的一个变量的值修改后传给另外一个变量以便实现复杂的需求,这也是变量传递魅力所在。这里我以一个通过变量传递的方法生成修改表名的SQL语句为例给大家演示一下,供参考。1.为演示方...
【进制转换】十进制与十六进制相互转换方法
Oracle提供的to_char和to_number函数在进制转换上也有贡献。简单演示一下。1.使用TO_CHAR函数将十进制数转换为十六进制数的方法和效果如下sec@ora10g> select TO_CHAR (1, 'XX') as "1", 2 &...
【SCRIPTS】将用户具有的所有权限尽收眼底
如何快速的在SQL*Plus中获得特定用户所具有的所有权限?针对这个常见的问题我今天编写了一段简单脚本,供大家参考(当然您也可以在此基础上做进一步的改动,把它变成自己的一个小武器)。1.Oracle数据库...
【SQL*Plus】使用BREAK和COMPUTE在SQL*Plus中得到分组统计结果
秉承KISS原则,一切简单实用的工具都是值得深入挖掘的。SQL*Plus就是其中之一。我通过这个小文儿给大家介绍一下在SQL*Plus中使用break和compute命令实现类似group分组函数的统计效果,这里只是抛个“砖”,...
【SQL】日历
SQL的魅力是无限的。这里给大家展示一下使用SQL得到日历,同时,用SQL*Plus的break命令格式化显示效果。sec@ora10g> break on month skip page 1sec@ora10g> col month for a20 jus...
【FULL OUTER JOIN】全外连接的union all改写方法
对于SQL中的连接操作在实现业务需求的时候比较方便和高效,这里针对“全外连接”展示一下在Oracle中的几种写法。每种写法因人而异,以满足需求为目的。有关内连接,左连接和右连接的简单演示请参考:《...
【实验】关联更新常用方法及误区
这是一个非常常用的关联更新方法,只要掌握了其中的小小的细节,一切都将是无比的自然与和谐。实验目标:使用第二张表t_ref中的数据对第一张表t进行更新,如果t中存在t_ref中的数据,则进行相应的更新,如果...
【实验】【SQL】为祖国60华诞献礼之格式化行政区划
伟大的祖国60华诞在即,为表达一名DBA的心声,特完成了如下SQL实验,明确一下祖国的行政区划,抵制一切分裂祖国的行为:)!1.创建测试表homeland_chinasec@ora10g> create table homeland_china (are...
【探索】【CAT】对CAT出处的探索之旅
当进入到一个陌生的用户或日常检查特定用户的时候,大家可能会在SQL*Plus中使用“select * from cat;”快速查看一下这个用户中都存在哪些我们关心的数据库对象。sec@ora10g> select * f...
【rlwrap】Linux上实现Windows的SQL*Plus保存SQL历史记录功能
1.rlwrap介绍rlwrap is a 'readline wrapper' that uses the GNU readline library to allow the editing of keyboard input for any other command. Input history is remembered across i...
【实验】使用SQL*Plus中set命令格式化SPOOL导出的文件
在使用SQL*Plus生成报告文件的时候,往往会因为其默认的设置导致输出的结果非常的没有可读性,下面介绍一个日常中会被用到的一个脚本,其中包含一些格式化输出的set命令,为了方便理解,我会在每一条set命令之后紧跟...
【实验】【SQL】排序与rownum的关系暨利用rownum处理一实际需求
这个实验将会得出如下几个结论:1. Oracle 10g数据库以select * 方式获取数据的顺序基本上是以初始化到数据库的顺序显示的;2. Oracle 10g数据库以select * 方式获取数据不会进行排序,只有在使用order by的情况下才...
【SQL】【思念】请Oracle协助得到孩子的精确年龄(精确到秒)
图图(Daining)已经和妈妈回老家省亲11天了,非常想念,为表达思念之情,编写了一个SQL语句,随时计算他的精确年龄(精度到秒)。--如果您有兴趣,也可以拿去计算一下自己的小孩子的准确年龄,修改...