- 浏览: 1379166 次
- 性别:
- 来自: 江西
文章分类
- 全部博客 (287)
- oracle (30)
- Java (73)
- MySQL (16)
- Myeclipse/eclipse (12)
- javascript (15)
- JSP/Servlet (7)
- maven (14)
- AJAX (2)
- JQuery (9)
- tomcat (8)
- spring (21)
- Linux (28)
- PHP (9)
- UI (1)
- 编程错误及处理 (38)
- 多线程 (18)
- hibernate (10)
- Web Service (3)
- struts2 (6)
- log4j (3)
- SVN (4)
- DWR (1)
- lucene (1)
- 正则表达式 (4)
- jstl (2)
- SSL (3)
- POI (1)
- 网络编程 (1)
- 算法 (2)
- xml (4)
- 加密解密 (1)
- IO (7)
- jetty (2)
- 存储过程 (1)
- SQL Server (1)
- MongoDB (1)
- mybatis (1)
- ETL (1)
- Zookeeper (1)
- Hadoop (5)
- Redis (1)
- spring cloud (1)
最新评论
-
ron.luo:
牛逼,正解!
maven设定项目编码 -
lichaoqun:
java.sql.SQLException: Can't call commit when autocommit=true -
Xujian0000abcd:
Thanks...
Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the clas -
renyuan2ni:
[i][b][u]引用[list]
[*][img][flas ...
Manual close is not allowed over a Spring managed SqlSession -
851228082:
宋建勇 写道851228082 写道<!-- 文件拷贝时 ...
maven设定项目编码
(一)字符函数
Upper
Lower
Initcap
Concat
Substr
第二个参数为字符串的第几位,默认从0开始。当为负数时,是从右侧开始。第三个参数为要取得字符串的总长度。
Length
Replace
Instr
如果在第一个参数中存在第二个参数,则返回第一个遇到的匹配参数的位置,该方法区分大小写。
Lpad
Rpad
Trim
(二)数值函数
Round
取整运算,第二个参数指定了取小数点后的几位,如果是5则进一。
Mod
Trunc
取整运算,第二个参数指定了取小数点后的几位,不进位。
(三)日期函数
Months_between
结果:1.16129032258065
用第一个参数的时间减去第二个参数的时间,得到月份的差。
Add_months
当前月份加了一个月
interval
当前日期加了三年
当前日期加了三年两个月
当前日期加了 十天两小时十分钟
Next_day
选择了下一个星期一的日期
Last_day
选择了这个月的最后一天
(四)转换函数
To_char
To_number
To_date
(五)通用函数
NVL
NullIF
NVL2
如果第一个参数不为空,则返回第二个参数;否则,返回第三个参数
Coalesce
依次考察各个参数,如有非空则停止并返回该值。
Case表达式
结果:未知部门
Decode表达式
第一个参数是否等于第二个参数,如果等于,则返回第三个参数,否则返回第四个参数,可用于行转列。
引自:http://oracle.chinaitlab.com/induction/832352.html
日期型函数
sysdate 当前日期和时间
last_day 本月最后一天
add_months(d,n) 当前日期d后推n个月
months_between(d,n) 日期d和n相差月数
next_day(d,day) d后第一周指定day的日期 select next_day(sysdate,'Monday') from dual;
day 格式 有 'Monday' 星期一
'Tuesday' 星期二
'wednesday' 星期三
'Thursday' 星期四
'Friday' 星期五
'Saturday' 星期六
'Sunday' 星期日
特殊格式的日期型函数
Y或YY或YYY 年的最后一位,两位,三位
Q 季度,1-3月为第一季度
MM 月份数
RM 月份的罗马表示
month 用9个字符表示的月份名
w 本月第几周
DDD 当年第几天,一月一日为001 ,二月一日032
DD 当月第几天
D 周内第几天
DY 周内第几天缩写
hh12 12小时制小时数
hh24 24小时制小时数
Mi 分钟数
ss 秒数
引自:http://hi.baidu.com/zmc149158339/blog/item/9953e3ecc542a54978f055b2.html
Upper
SELECT Upper ('abcde') FROM dual结果:ABCDE
Lower
SELECT lower('ABCDE') FROM dual结果:abcde
Initcap
SELECT Initcap ('AAA') FROM dual结果:Aaa
SELECT Initcap ('aaa') FROM dual结果:Aaa
Concat
SELECT Concat ('a', 'b') FROM dual结果:ab
Select 'a' || 'b' from dual结果:ab
Substr
Select substr('abcde',0,3) from dual结果:abc
Select substr('abcde',-2,3) from dual结果:de
第二个参数为字符串的第几位,默认从0开始。当为负数时,是从右侧开始。第三个参数为要取得字符串的总长度。
Length
Select length('abcde') from dual结果:5
Replace
Select replace('abcde','a','A') from dual结果:Abcde
Instr
Select instr('Hello World','W') from dual结果:8
Select instr('Hello World','w') from dual结果:0
如果在第一个参数中存在第二个参数,则返回第一个遇到的匹配参数的位置,该方法区分大小写。
Lpad
select lpad('Smith',10,'*') from dual结果:*****Smith
Rpad
select rpad('Smith',10,'*') from dual结果:Smith*****
Trim
select trim(' Mr Smith ') from dual结果:Mr Smith
(二)数值函数
Round
select round(412,-2) from dual;结果:400
select round(412.713) from dual;结果:413
select round(412,2) from dual;结果:412
select round(412.713,2) from dual;结果:412.71
取整运算,第二个参数指定了取小数点后的几位,如果是5则进一。
Mod
select Mod(198,2) from dual结果:0
Trunc
select trunc(412.13,-2) from dual结果:400
select trunc(412.13,2) from dual结果:412.13
select trunc(412.13,1) from dual结果:412.1
select trunc(412.53) from dual结果:412
取整运算,第二个参数指定了取小数点后的几位,不进位。
(三)日期函数
Months_between
select months_between(sysdate+35,sysdate) from dual
结果:1.16129032258065
用第一个参数的时间减去第二个参数的时间,得到月份的差。
Add_months
select add_months(sysdate,1) from dual
当前月份加了一个月
interval
select sysdate + interval '3 ' year from dual
当前日期加了三年
select sysdate + interval '3-2 ' year to month from dual
当前日期加了三年两个月
select sysdate + interval '10 2:10 ' day to minute from dual
当前日期加了 十天两小时十分钟
Next_day
select next_day(sysdate,'星期一') from dual
选择了下一个星期一的日期
Last_day
select last_day(sysdate) from dual
选择了这个月的最后一天
(四)转换函数
To_char
select to_char(sysdate,'yyyy-MM-dd') from dual;结果:2010-10-30
To_number
select to_number('13')+to_number('14') from dual;结果:27
To_date
Select to_date('2012-1-1','yyyy-MM-dd') from dual;结果:2012-1-1
(五)通用函数
NVL
select nvl('string',0) from dual结果:string
select nvl('',0) from dual结果:0
NullIF
select nullif('abc','abc') from dual结果:空
select nullif('abc','abcd') from dual结果:’abc
NVL2
select nvl2('a','b','c') from dual结果:b
select nvl2('','b','c') from dual结果:c
如果第一个参数不为空,则返回第二个参数;否则,返回第三个参数
Coalesce
select COALESCE('','','abc','') from dual结果:abc
select COALESCE('','','','') from dual结果:空
依次考察各个参数,如有非空则停止并返回该值。
Case表达式
select case 4 when 10 then '财务部' when 20 then '研发部' when 30 then '销售部' else '未知部门' end 部门 from dual
结果:未知部门
Decode表达式
select decode(10, 10, '财务部', 20, '研发部', 30, '销售部', '未知部门') 部门 from dual;结果:财务部
select decode(2,10,'财务部',decode(3,20,'研发部',decode(4,30,'销售部','未知部门'))) from dual;结果:未知部门
第一个参数是否等于第二个参数,如果等于,则返回第三个参数,否则返回第四个参数,可用于行转列。
引自:http://oracle.chinaitlab.com/induction/832352.html
日期型函数
sysdate 当前日期和时间
select sysdate from dual;
last_day 本月最后一天
select last_day(sysdate) from dual;
add_months(d,n) 当前日期d后推n个月
select add_months(sysdate,2) from dual;
months_between(d,n) 日期d和n相差月数
select months_between(sysdate,to_date('20020812','YYYYMMDD')) from dual;
next_day(d,day) d后第一周指定day的日期 select next_day(sysdate,'Monday') from dual;
day 格式 有 'Monday' 星期一
'Tuesday' 星期二
'wednesday' 星期三
'Thursday' 星期四
'Friday' 星期五
'Saturday' 星期六
'Sunday' 星期日
特殊格式的日期型函数
Y或YY或YYY 年的最后一位,两位,三位
select to_char(sysdate,'YYY') from dual;
Q 季度,1-3月为第一季度
select to_char(sysdate,'Q') from dual;
MM 月份数
select to_char(sysdate,'MM') from dual;
RM 月份的罗马表示
select to_char(sysdate,'RM') from dual;IV
month 用9个字符表示的月份名
select to_char(sysdate,'month') from dual;ww 当年第几周
select to_char(sysdate,'ww') from dual;
w 本月第几周
select to_char(sysdate,'w') from dual;
DDD 当年第几天,一月一日为001 ,二月一日032
select to_char(sysdate,'DDD') from dual;
DD 当月第几天
select to_char(sysdate,'DD') from dual;
D 周内第几天
select to_char(sysdate,'D') from dual;如 sunday
DY 周内第几天缩写
select to_char(sysdate,'DY') from dual;如 sun
hh12 12小时制小时数
select to_char(sysdate,'hh12') from dual;
hh24 24小时制小时数
select to_char(sysdate,'hh24') from dual;
Mi 分钟数
select to_char(sysdate,'Mi') from dual;
ss 秒数
select to_char(sysdate,'ss') from dual;
select to_char(sysdate,'YYYY-MM-DD HH24:mi:ss') from dual;
引自:http://hi.baidu.com/zmc149158339/blog/item/9953e3ecc542a54978f055b2.html
发表评论
-
ORA-12505, TNS:listener does not currently know of SID given in connect descript
2017-05-11 18:10 1360数据对接时需要连接对方的Oracle数据库,但程序在运行时出错 ... -
java.sql.SQLException: 违反协议: [12]
2014-12-04 13:40 9279表名:V_WJW_IPT_ADMISSIONNOT ... -
oracle收集
2014-08-28 14:04 729sql与oracle中有关case和decode的用法(行转列 ... -
Linux中启动Oracle
2014-07-28 11:33 841一、用oracle用户登录linux系统并执行命令:lsnrc ... -
表空间自动扩展设置
2014-07-19 21:28 1373报错信息: 解决步骤: 1、以管理员的权限登录后执行如下语句 ... -
SQL优化之over的使用
2013-08-29 21:26 1275select t.grade, t.losal from sa ... -
Oracle中Union与Union All的区别
2013-01-31 11:16 1316http://weich-javadeveloper.itey ... -
PLSQL Developer保存用户和密码、执行当前SQL语句
2013-01-14 18:12 2207保存用户: Tools-->Preferences--& ... -
oracle 归档数据查询(分区查询)
2013-01-10 13:01 1501查询201212月份数据记录的SQL如下: SELECT CO ... -
oracle之SQL语句查询某个表所占物理空间大小
2013-01-09 13:38 1625select bytes B, bytes/1024 KB, ... -
Oracle同义词创建及其作用
2012-11-21 16:47 2283Oracle的同义词(synonyms ... -
Oracle解锁用户、新建用户、角色,授权,建表空间
2012-11-16 11:52 1067oracle数据库的权限系统分为系统权限与对象权限。 ... -
ORA-12514 : TNS:监听程序当前无法识别连接描述符中请求的服务
2012-11-05 14:13 1850一、找到监听文件,添加红色部分代码即可,如下: # list ... -
oracle对某个表增(改)字段的sql语句写法
2012-10-26 10:29 1300alter table TAB_SMS_BLACKLI ... -
安装oracle后电脑启动慢的解决办法
2012-10-08 16:55 1456一、进入注册表-services.msc 二、编辑txt文档 ... -
用SQLPLUS远程登录数据库
2012-09-29 09:17 2864首先在tnsnames.ora文件中添加远程访问路径(红色部分 ... -
完美卸载oracle数据库的方法
2012-09-28 14:08 930http://oracle.chinaitlab.com/PL ... -
Oracle高级查询之GROUP BY
2012-09-26 14:05 982引自:http://blog.csdn.net/ayou200 ... -
创建触发器,以便为t_forum表生成主键
2012-08-28 11:19 1551首先创建序列 create sequence seq_foru ... -
ora-01031 权限不足 database links
2011-03-28 11:14 2901grant create database link to s ...
相关推荐
### Oracle 自定义函数详解 #### 一、概述 在Oracle数据库中,自定义函数是一种非常实用的功能,可以让我们根据特定需求编写SQL代码块,并将这些代码块封装为可重用的函数。通过这种方式,不仅可以提高代码的复用...
#### 二、Oracle分析函数的基本结构 分析函数的基本结构如下: ```sql FUNCTION_NAME(,) OVER (<Partition-Clause><Order-by-Clause>) ``` - **FUNCTION_NAME**: 分析函数名称。 - ****: 函数参数,可以是表达式...
Oracle常用函数实战总结.xlsx: 1.内容:总结了Oracle数据库中常用的函数及其实战应用。这些函数可能包括字符串处理函数、数值计算函数、日期和时间函数、转换函数等。 2.用途:对于Oracle数据库的使用者来说,这...
### Oracle开窗函数学习技巧总结 #### 一、概述 在Oracle数据库中,开窗函数是一种非常强大的功能,它能够帮助我们对数据进行更复杂的分析和处理。开窗函数允许我们在查询结果集的一个窗口内执行聚合操作,而无需对...
Oracle分析函数是数据库管理系统Oracle中的一种高级查询工具,它们用于处理行集,计算基于特定窗口内的数据的聚合值。分析函数的主要特点是返回的结果不仅仅是一行,而是多行,这与传统的聚合函数(如SUM, AVG等)...
二、分析函数的基本结构 分析函数的语法结构通常如下: ```sql FUNCTION_NAME([PARTITION BY column_list] [ORDER BY column_list]) OVER ( [RANGE | ROWS BETWEEN start AND end] ) AS alias ``` - `FUNCTION_...
通过本文的学习,我们了解了Oracle中的分析函数及其基本用法,包括常见的分析函数分类、基本语法以及实际应用场景。这些函数的强大之处在于它们能够轻松地处理复杂的数据计算需求,为数据分析提供了极大的便利。掌握...
### Oracle分析函数详解 #### 一、概述 Oracle分析函数是一种强大的工具,它允许用户对分组数据执行复杂的计算,并且能够返回多个结果行。这与传统的聚合函数(如`SUM`、`COUNT`等)形成鲜明对比,后者通常只针对...
总结来说,Oracle 自定义函数提供了一种扩展数据库功能的方式,但在实际使用时需要根据具体场景权衡其优缺点。尽管在某些特定情况下的确能解决问题,但开发者应谨慎考虑是否采用,尤其是在性能和可维护性方面有较高...
#### 二、基本函数介绍 ##### 1. **累积聚合函数** - **SUM**: 计算指定表达式的总和。 - **MIN** 和 **MAX**: 查找表达式的最小值和最大值。 - **AVG**: 计算表达式的平均值。 - **COUNT**: 对符合条件的行...
数字函数用于对数值型数据进行数学计算,包括基本的数学运算以及更复杂的数学函数。 - **ABS**: 取绝对值。 - 示例:`ABS(-15)` 返回 `15` - **CEIL**: 向上取整。 - 示例:`CEIL(44.778)` 返回 `45` - **FLOOR**...
### Oracle时间函数详解 在Oracle数据库中,时间函数是一组非常重要的工具,它们可以帮助我们处理日期和时间数据,实现各种日期计算的需求...理解并掌握这些基本的时间函数对于Oracle数据库的高效管理和使用至关重要。
分析函数的基本语法如下: ```sql FUNCTION_NAME(<参数>,...) OVER (表达式,...>表达式 | DESC>| NULLS LAST>子句>) ``` - **PARTITION BY**子句:将数据分成多个分区,在每个分区内独立计算函数。 - **ORDER BY**...
本文将详细介绍Oracle OLAP函数的基本语法结构及其各个组成部分,并通过具体示例来解释不同类型的函数如何工作。 #### 二、OLAP函数基本语法 OLAP函数通常由以下四个部分组成: 1. **Function Name**:这是实际...
总结来说,NVL函数在Oracle中是处理NULL值的重要工具,而GROUP BY子句则允许我们在查询时对数据进行分类和聚合,以获取更详细的信息。这两个概念在日常的数据库管理和数据分析工作中都是非常关键的。理解并熟练运用...
### Oracle分析函数OVER及开窗函数详解 #### 一、概述 在Oracle数据库中,分析函数(Analytic Functions)是一种非常强大的工具,用于处理复杂的查询需求。这些函数可以在一组相关的行上执行计算,并且每行返回一个...
### Oracle 第四章 单行函数 #### 一、引言 在Oracle数据库的学习过程中,了解并掌握单行函数是非常重要的一步。单行函数是指针对每一行的数据进行处理,并返回一个处理结果的函数。这类函数在查询语句中非常常见,...
Oracle分析函数的基本语法结构如下: ```sql FUNCTION_NAME(,) OVER (<Partition-Clause><Order-by-Clause>) ``` 其中: - `FUNCTION_NAME`:表示具体的分析函数名称,如`SUM`、`COUNT`、`AVG`等。 - `<argument>...