- 浏览: 1588902 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
--简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END --Select Case When SELECT grade, COUNT (CASE WHEN sex = 1 THEN 1 /*sex 1为男生,2位女生*/ ELSE NULL END) 男生数, COUNT (CASE WHEN sex = 2 THEN 1 ELSE NULL END) 女生数 FROM students GROUP BY grade; --Where Case When SELECT T2.*, T1.* FROM T1, T2 WHERE (CASE WHEN T2.COMPARE_TYPE = 'A' AND T1.SOME_TYPE LIKE 'NOTHING%' THEN 1 WHEN T2.COMPARE_TYPE != 'A' AND T1.SOME_TYPE NOT LIKE 'NOTHING%' THEN 1 ELSE 0 END) = 1 --Group by Case When SELECT CASE WHEN salary <= 500 THEN '1' WHEN salary > 500 AND salary <= 600 THEN '2' WHEN salary > 600 AND salary <= 800 THEN '3' WHEN salary > 800 AND salary <= 1000 THEN '4' ELSE NULL END salary_class, -- 别名命名 COUNT(*) FROM Table_A GROUP BY CASE WHEN salary <= 500 THEN '1' WHEN salary > 500 AND salary <= 600 THEN '2' WHEN salary > 600 AND salary <= 800 THEN '3' WHEN salary > 800 AND salary <= 1000 THEN '4' ELSE NULL END; ---统计 count 和 distinct 的使用 select t1.*,t2.* from (select 2013-09 vtime, count(case when adid=9058 then id else null end) ytznum, count(case when adid=9059 then id else null end) jtznum, count(distinct(case when adid=9058 then ip else null end)) yipnum, count(distinct(case when adid=9059 then ip else null end)) jipnum from v_user_store where createtime >= to_date('2013-09-01 00:00:00','yyyy-mm-dd hh24:mi:ss') and createtime <= to_date('2013-09-30 23:59:59','yyyy-mm-dd hh24:mi:ss') ) t1 , (select 2013-09 otime, count(case when adid=9058 then 1 else null end) yordernum, count(case when adid=9059 then 1 else null end) jordernum, sum(case when adid=9058 then costs else 0 end) yordercost, sum(case when adid=9059 then costs else 0 end) jordercost, decode(count(case when adid=9058 then 1 else null end),0,0,round((sum(case when adid=9058 then costs else 0 end) / count(case when adid=9058 then 1 else null end)),2)) yavgcost, decode(count(case when adid=9059 then 1 else null end),0,0,round((sum(case when adid=9059 then costs else 0 end) / count(case when adid=9059 then 1 else null end)),2)) javgcost from v_order2 where status <> 2 and ordertime >= to_date('2013-09-01 00:00:00','yyyy-mm-dd hh24:mi:ss') and ordertime <= to_date('2013-09-30 23:59:59','yyyy-mm-dd hh24:mi:ss') ) t2 order by t2.otime
发表评论
-
常见ETL工具一览
2017-08-08 11:05 2577ETL(Extract-Transform-Load的 ... -
Oralce 随手笔记(二)
2014-11-03 08:58 2059151 查询当前用户自己有多少张表 user_tabl ... -
Oracle 随手笔记(一)
2014-11-02 02:01 1484--author: luobin --data: 201 ... -
Oracle 触发器
2014-11-02 01:54 1323---before 触发器 在 dml 操作之后-- ... -
Oralce 开发包 和 游标
2014-11-02 01:53 1490--_________________________ ... -
Oralce 存储过程 和 函数
2014-11-02 01:49 1032--___________ ... -
Oracle 顺序控制,异常处理,动态sql
2014-11-02 01:45 1811-----------------顺序控制-------- ... -
Oracle 流程控制 和 循环控制
2014-10-30 20:31 731--_______________________ ... -
Oracle 索引 和 PL/SQL
2014-10-30 20:30 1664--____________________ ... -
Oracle 序列 和 视图
2014-10-30 20:27 880-------------------- ... -
Oralce DDL,DML,DQL,DCL,TCL
2014-10-30 20:22 1065--Oracle --day:2010-4-8 ... -
Oralce 随机取一条数据
2013-08-27 21:44 2360Oralce随机数 select * from (selec ... -
Oracle 存储过程的使用
2013-03-20 20:14 2349本文主要是总结 如何实现 JDBC调用Oracle的存储过程, ... -
Oracle DDL,DML,DCL,TCL
2013-03-06 16:52 0DDL DDL(Data Definition Langu ... -
Oracle SQL优化
2013-03-06 12:03 2053ORACLE SQL 优化 1.访问 Tab ... -
Ibatis 整合spring + Struts2 加入OSCACHE
2012-11-14 00:10 4551说明: 使用 spring2.5 +ibatis2.3 ... -
Oracle 常用函数
2012-08-31 02:12 27941.得到字符串中的第一 ... -
Oracle 子查询等常见的sql语句
2012-08-23 00:07 6135oracle 对于汉字,如果数据库字符编码为 GBK 占用2个 ... -
Oracle 常用数据类型
2012-08-22 22:05 15291.字符类型 char(2000):定长的,最大为2000 ... -
Oracle 联机备份 脱机备份 物理备份 恢复
2012-08-12 05:10 41451.备份 指的是拥有数据 ...
相关推荐
### Oracle CASE WHEN 用法详解 #### 一、概述 在 Oracle 数据库中,`CASE WHEN` 表达式提供了一种在 SQL 查询中实现条件判断的方法,这使得开发人员能够在不使用 PL/SQL 的情况下编写更为灵活和复杂的查询语句。`...
1. CASE WHEN 表达式有两种形式 代码如下:–简单Case函数 CASE sex ... CASE WHEN 在语句中不同位置的用法2.1 SELECT CASE WHEN 用法 代码如下:SELECT grade, COUNT (CASE WHEN sex = 1 THEN 1 /*sex 1为男生,2位
在Oracle中,SUM函数可以结合CASE WHEN语句,使得条件求和变得更为灵活。 1. SUM与CASE WHEN结合使用 在描述的示例1中,我们看到了一个查询,它根据`AREA_CODE`字段对数据进行分组,并计算出`IPTV_NBR`和`ACC_NBR`...
本文将详细介绍这两个函数的用法,并结合`CASE WHEN`语句来解决特定的问题。 `SUBSTR`函数用于从一个字符串中提取指定长度的子字符串。它有两种形式: 1. `SUBSTR(string, start_position, length)` 这种形式从`...
Oracle 中游标的使用 Oracle 中的游标(Cursor)是一种重要的数据库对象,它允许开发者在 SQL 语句中处理大量数据。游标的使用可以将复杂的数据处理过程简化,使得开发效率和代码可读性提高。下面将对 Oracle 中游...
在实际工作中,你可能还需要结合其他SQL函数,如CASE WHEN或NVL,来进一步增强DECODE的功能。例如,当你需要处理可能的NULL值时,NVL函数可以提供一个默认值,防止因NULL而导致的结果异常。 总之,Oracle的DECODE...
5. **控制流程函数**:如 `IF()`, `CASE WHEN THEN`,实现条件判断和逻辑操作。 接下来,Oracle 数据库是企业级的 DBMS,提供了更丰富的特性和更强大的性能。在 "oracle函数大全(分类显示).chm" 文档中,我们可以...
- **CASE语句**: Oracle和SQLServer的`CASE`语句在语法上有所不同,Oracle使用`WHEN`条件后面直接跟表达式,而SQLServer则是在`WHEN`后面直接跟条件。 - **PIVOT操作**: Oracle和SQLServer的`PIVOT`语法也存在细微...
CASE 语句适用于分情况的多分支处理,可以有以下三种用法: 1. 基本 CASE 结构语句的语法如下: ```sql CASE 选择变量名 WHEN 表达式 1 THEN 语句序列 1 WHEN 表达式 2 THEN 语句序列 2 WHEN 表达式 n THEN 语句...
SELECT CASE WHEN LENGTH(o.f_nodecode) > 8 THEN SUBSTR(o.f_nodecode, 1, 8) ELSE o.f_nodecode END f_nodecode FROM orgaizeation o WHERE o.f_id = 23 ) b ON a.f_nodecode = b.f_nodecode ORDER BY b.f_...
- SQL Server的`IIF()`是三元运算符的简化形式,Oracle没有直接对应,但可以用`CASE WHEN THEN END`模拟。 7. **系统信息函数** - SQL Server的`@@IDENTITY`获取最后一个插入的ID,Oracle使用`LAST_INSERT_ID()`...
在"Oracle的几个Function实例"这个主题中,我们将探讨一些常见的Oracle函数,并通过实际示例来理解它们的用法。 1. ** NVL 函数**: NVL函数用于处理空值(NULL)。如果一个字段的值为NULL,NVL函数会将其替换为你...
- `SELECT CASE WHEN 1 = 1 THEN 'True' ELSE 'False' END FROM dual;` 返回 `'True'` ### 总结 以上列举了Oracle数据库中常见的几种函数类型及其典型应用场景。熟练掌握这些函数不仅能够提高编写SQL语句的速度和...
- **条件表达式**:如CASE WHEN THEN ELSE END,用于根据条件返回不同的结果。 #### 四、Oracle SQL 特色功能 - **PL/SQL**:一种过程化语言,用于扩展SQL的功能,支持复杂的逻辑处理和编程。 - **SQL*Plus**:...
- `CASE WHEN condition THEN result [ELSE else_result] END`:根据条件返回不同的结果。 6. **聚合函数**: - `COUNT(*)`:计算行数。 - `SUM(column)`:计算列的总和。 - `AVG(column)`:计算列的平均值。 ...
### Oracle触发器详解 在Oracle数据库管理中,触发器是一种非常强大的工具,它允许你在特定的数据库事件(如数据插入、更新或删除)发生时自动执行预定义的SQL语句或PL/SQL代码块。这使得数据库能够在无需外部程序...
根据提供的Oracle相关知识点,我们可以详细地探讨一下这些重要的Oracle函数及其用法,这对于数据库管理和查询都是非常有帮助的。 ### 1. CASE 表达式 CASE 表达式是一种非常有用的工具,它允许我们在SQL查询中进行...
以上案例展示了 Oracle 触发器的一些基本用法和应用场景,包括但不限于数据安全性控制、数据审计跟踪以及业务规则实施等方面。通过这些示例,我们可以更好地理解和掌握触发器的设计与编写技巧。