惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
SegmentFault 最新的问题
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
博客园 - 【当耐特】
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
V
Visual Studio Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 聂微东
P
Proofpoint News Feed
Last Week in AI
Last Week in AI
U
Unit 42
W
WeLiveSecurity
博客园 - Franky
Recent Announcements
Recent Announcements
Hacker News - Newest:
Hacker News - Newest: "LLM"
Attack and Defense Labs
Attack and Defense Labs
月光博客
月光博客
The Cloudflare Blog
Spread Privacy
Spread Privacy
腾讯CDC
P
Privacy International News Feed
N
News and Events Feed by Topic
AWS News Blog
AWS News Blog
NISL@THU
NISL@THU
T
Troy Hunt's Blog
小众软件
小众软件
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Microsoft Security Blog
Microsoft Security Blog
L
Lohrmann on Cybersecurity
Webroot Blog
Webroot Blog
Y
Y Combinator Blog
量子位
P
Palo Alto Networks Blog
N
News and Events Feed by Topic
V
Vulnerabilities – Threatpost
K
Kaspersky official blog
IT之家
IT之家
T
Threat Research - Cisco Blogs
Cloudbric
Cloudbric
云风的 BLOG
云风的 BLOG
C
Check Point Blog
Blog — PlanetScale
Blog — PlanetScale
爱范儿
爱范儿
G
Google Developers Blog
S
Secure Thoughts

博客园 - Chris Liu

XP远程桌面连接强制登录 Oracle 存储过程基础 [原]如何将flash插入到Excel文件中 [原]Excel与OWC做报表总结 [原]OWC做电子表格和图表的试验 [原]用Excel做报表的试验 [原]Winform自定义控件在网页上的应用 [转]微软面试100题——要想成为盖茨就来试试! 《ActionScript 3 CookBook 简体中文完整版》下载 [原]flash研究(三)——Falsh与JavaScript交互 [原]flash研究(二)——与asp.net服务交互(访问数据库) [原]Flash研究(一)——本地通讯 [转]ORACLE PL/SQ入门 [原]反射学习整理 事件的实现过程 C#基础—— check、lock、using语句归纳 Geoserver汉语版出来啦!! [原]回调实现步骤 [原]Web Service学习
[原]做报表,写Sql语句的一点收获
Chris Liu · 2008-10-30 · via 博客园 - Chris Liu

Sql语句一直是弱项,最近整报表可是痛苦呀,一个select能写两天。

整理一下一些常用的函数和写法放在这,以后忘了来看看,呵呵(针对Oracle数据库)。

例子都是生产中的例子,直接放上来保存着,后面要用的时候,我就直接复制过去用了,看起来比较费劲,例子大家还是不要看了。

一、递归查询

    Start with...Connect By,用于对一个树形结构的表递归遍历,Start with后面跟初始值,Connect By后面跟遍历条件。

    比如:

START WITH CONNECT BY例子

二、NVL(eExpression1, eExpression2)从两个表达式返回一个非 null

如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1eExpression1 eExpression2 可以是任意一种数据类型。如果 eExpression1 eExpression2 的结果皆为 null 值,则 NVL( ) 返回NULL

比如:

Nvl函数例子

三、Round 函数对指定数值进行四舍五入

    ROUND(number,[decimal_places])

参数:

number :预处理对数值。

decimal_places : 四舍五入后保留的小数位数。

示例同Nvl函数例子。

四、结果集集合操作 UnionUnion AllIntersectMinus

1、  Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;

2、  Union All,对两个结果集进行并集操作,包括重复行,不进行排序;

3、  Intersect,对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;

4、  Minus,对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。

注意:如果要人为的用Oder by 排序,order by必须放在最后一个集合里面。

比如:

Union All例子

五、条件表达式case when then else end

语法:CASE

WHEN eExpression1 THEN Value1;
WHEN eExpression2 THEN Value2;
WHEN eExpression3 THEN Value3;
ELSE Value4;
END

类似与程序里面的if else,就不过说了,看四中队例子。

六、Decode()函数

DECODE函数比较表达式和搜索字,如果匹配,对应的结果

语法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else

比如:

Decode 例子