- 浏览: 4437804 次
- 性别:
- 来自: 湛江
-
博客专栏
-
-
SQLite源码剖析
浏览量:80447
-
-
WIN32汇编语言学习应用...
浏览量:71034
-
-
神奇的perl
浏览量:104316
-
-
lucene等搜索引擎解析...
浏览量:288010
-
-
深入lucene3.5源码...
浏览量:15204
-
-
VB.NET并行与分布式编...
浏览量:68628
-
-
silverlight 5...
浏览量:32693
-
-
算法下午茶系列
浏览量:46373
文章分类
最新评论
-
yoyo837:
counters15 写道目前只支持IE吗?插件的东西是跨浏览 ...
Silverlight 5 轻松开启绚丽的网页3D世界 -
shuiyunbing:
直接在前台导出方式:excel中的单元格样式怎么处理,比如某行 ...
Flex导出Excel -
di1984HIT:
写的很好~
lucene入门-索引网页 -
rjguanwen:
在win7 64位操作系统下,pygtk的Entry无法输入怎 ...
pygtk-entry -
ldl_xz:
http://www.9958.pw/post/php_exc ...
PHPExcel常用方法汇总(转载)
Oracle在日期使用上允许极大的灵活性。由于可以在日期字段存储时间和日期,从而有函数可以既引用日期又引用时间。
Oracle 所提供的一些日期函数如下所示。
1. SYSDATE
返回当前的日期和时间。
示例
SELECT sysdate FROM dual;
SYSDATE
----------
05-3月 -03
2. ADD_MONTHS(d, no_of_month)
当前日期"m"后推"no_of_month"个月。参数"no_of_month"可为任何整数。
示例
SELECT add_months(sysdate,2) FROM dual;
ADD_MONTHS
----------
05-5月 -03
SELECT add_months(sysdate,-2) FROM dual;
ADD_MONTHS
----------
05-1月 -03
3. LAST_DAY(month_day)
返回变量"month_day"中所指定月份的最后一天的日期。
示例
SELECT last_day(sysdate) FROM dual;
LAST_DAY(S
----------
31-3月 -03
4. MONTHS_BETWEEN(d1, d2)
返回日期 d1 和 d2 之间的月份数。如果 d1 晚于d2,结果为正,否则返回负数。
示例
SELECT months_between(sysdate,to_date('20030101','YYYYMMDD')) FROMdual;
MONTHS_BETWEEN(SYSDATE,TO_DATE('20030101','YYYYMMDD'))
在oracle中有很多关于日期的函数,如:
1、add_months()用于从一个日期值增加或减少一些月份
date_value:=add_months(date_value,number_of_months)
例:
SQL> select add_months(sysdate,12) "Next Year" from dual;
Next Year
----------
13-11月-04
SQL> select add_months(sysdate,112) "Last Year" from dual;
Last Year
----------
13-3月 -13
SQL>
2、current_date()返回当前会放时区中的当前日期
date_value:=current_date
SQL> column sessiontimezone for a15
SQL> select sessiontimezone,current_date from dual;
SESSIONTIMEZONE CURRENT_DA
--------------- ----------
+08:00 13-11月-03
SQL> alter session set time_zone='-11:00'
2/
会话已更改。
SQL> select sessiontimezone,current_timestamp from dual;
SESSIONTIMEZONE CURRENT_TIMESTAMP
--------------- ------------------------------------
-11:00 12-11月-0304.59.13.668000 下午 -11:
00
SQL>
3、current_timestamp()以timestamp with timezone数据类型返回当前会放时区中的当前日期
timestamp_with_time_zone_value:=current_timestamp([timestamp_precision])
SQL> column sessiontimezone for a15
SQL> column current_timestamp format a36
SQL> select sessiontimezone,current_timestamp from dual;
SESSIONTIMEZONE CURRENT_TIMESTAMP
--------------- ------------------------------------
+08:00 13-11月-0311.56.28.160000 上午 +08:
00
SQL> alter session set time_zone='-11:00'
2/
会话已更改。
SQL> select sessiontimezone,current_timestamp from dual;
SESSIONTIMEZONE CURRENT_TIMESTAMP
--------------- ------------------------------------
-11:00 12-11月-0304.58.00.243000 下午 -11:
00
SQL>
4、dbtimezone()返回时区
varchar_value:=dbtimezone
SQL> select dbtimezone from dual;
DBTIME
------
-07:00
SQL>
5、extract()找出日期或间隔值的字段值
date_value:=extract(date_field from[datetime_value|interval_value])
SQL> select extract(month from sysdate) "This Month" fromdual;
This Month
----------
11
SQL> select extract(year from add_months(sysdate,36)) "3 YearsOut" from dual;
3 Years Out
-----------
2006
SQL>
6、last_day()返回包含了日期参数的月份的最后一天的日期
date_value:=last_day(date_value)
SQL> select last_day(date'2000-02-01') "Leap Yr?" fromdual;
Leap Yr?
----------
29-2月 -00
SQL> select last_day(sysdate) "Last day of this month" fromdual;
Last day o
----------
30-11月-03
SQL>
7、localtimestamp()返回会话中的日期和时间
timestamp_value:=localtimestamp
SQL> column localtimestamp format a28
SQL> select localtimestamp from dual;
LOCALTIMESTAMP
----------------------------
13-11月-03 12.09.15.433000
下午
SQL> select localtimestamp,current_timestamp from dual;
LOCALTIMESTAMPCURRENT_TIMESTAMP
----------------------------------------------------------------
13-11月-03 12.09.31.00600013-11月-03 12.09.31.006000 下午 +08:
下午 00
SQL> alter session set time_zone='-11:00';
会话已更改。
SQL> select localtimestamp,to_char(sysdate,'DD-MM-YYYY HH:MI:SSAM') "SYSDATE" from dual;
LOCALTIMESTAMPSYSDATE
---------------------------- ------------------------
12-11月-03 05.11.31.25900013-11-2003 12:11:31 下午
下午
SQL>
8、months_between()判断两个日期之间的月份数量
number_value:=months_between(date_value,date_value)
SQL> select months_between(sysdate,date'1971-05-18') fromdual;
MONTHS_BETWEEN(SYSDATE,DATE'1971-05-18')
----------------------------------------
389.855143
SQL> select months_between(sysdate,date'2001-01-01') fromdual;
MONTHS_BETWEEN(SYSDATE,DATE'2001-01-01')
----------------------------------------
34.4035409
SQL>
9、next_day()给定一个日期值,返回由第二个参数指出的日子第一次出现在的日期值(应返回相应日子的名称字符串)
在oracle中有很多关于日期的函数,如:
1、add_months()用于从一个日期值增加或减少一些月份
date_value:=add_months(date_value,number_of_months)
例:
SQL> select add_months(sysdate,12) "Next Year" from dual;
Next Year
----------
13-11月-04
SQL> select add_months(sysdate,112) "Last Year" from dual;
Last Year
----------
13-3月 -13
SQL>
2、current_date()返回当前会放时区中的当前日期
date_value:=current_date
SQL> column sessiontimezone for a15
SQL> select sessiontimezone,current_date from dual;
SESSIONTIMEZONE CURRENT_DA
--------------- ----------
+08:00 13-11月-03
SQL> alter session set time_zone='-11:00'
2/
会话已更改。
SQL> select sessiontimezone,current_timestamp from dual;
SESSIONTIMEZONE CURRENT_TIMESTAMP
--------------- ------------------------------------
-11:00 12-11月-0304.59.13.668000 下午 -11:
00
SQL>
3、current_timestamp()以timestamp with timezone数据类型返回当前会放时区中的当前日期
timestamp_with_time_zone_value:=current_timestamp([timestamp_precision])
SQL> column sessiontimezone for a15
SQL> column current_timestamp format a36
SQL> select sessiontimezone,current_timestamp from dual;
SESSIONTIMEZONE CURRENT_TIMESTAMP
--------------- ------------------------------------
+08:00 13-11月-0311.56.28.160000 上午 +08:
00
SQL> alter session set time_zone='-11:00'
2/
会话已更改。
SQL> select sessiontimezone,current_timestamp from dual;
SESSIONTIMEZONE CURRENT_TIMESTAMP
--------------- ------------------------------------
-11:00 12-11月-0304.58.00.243000 下午 -11:
00
SQL>
4、dbtimezone()返回时区
varchar_value:=dbtimezone
SQL> select dbtimezone from dual;
DBTIME
------
-07:00
SQL>
5、extract()找出日期或间隔值的字段值
date_value:=extract(date_field from[datetime_value|interval_value])
SQL> select extract(month from sysdate) "This Month" fromdual;
This Month
----------
11
SQL> select extract(year from add_months(sysdate,36)) "3 YearsOut" from dual;
3 Years Out
-----------
2006
SQL>
6、last_day()返回包含了日期参数的月份的最后一天的日期
date_value:=last_day(date_value)
SQL> select last_day(date'2000-02-01') "Leap Yr?" fromdual;
Leap Yr?
----------
29-2月 -00
SQL> select last_day(sysdate) "Last day of this month" fromdual;
Last day o
----------
30-11月-03
SQL>
7、localtimestamp()返回会话中的日期和时间
timestamp_value:=localtimestamp
SQL> column localtimestamp format a28
SQL> select localtimestamp from dual;
LOCALTIMESTAMP
----------------------------
13-11月-03 12.09.15.433000
下午
SQL> select localtimestamp,current_timestamp from dual;
LOCALTIMESTAMPCURRENT_TIMESTAMP
----------------------------------------------------------------
13-11月-03 12.09.31.00600013-11月-03 12.09.31.006000 下午 +08:
下午 00
SQL> alter session set time_zone='-11:00';
会话已更改。
SQL> select localtimestamp,to_char(sysdate,'DD-MM-YYYY HH:MI:SSAM') "SYSDATE" from dual;
LOCALTIMESTAMPSYSDATE
---------------------------- ------------------------
12-11月-03 05.11.31.25900013-11-2003 12:11:31 下午
下午
SQL>
8、months_between()判断两个日期之间的月份数量
number_value:=months_between(date_value,date_value)
SQL> select months_between(sysdate,date'1971-05-18') fromdual;
MONTHS_BETWEEN(SYSDATE,DATE'1971-05-18')
----------------------------------------
389.855143
SQL> select months_between(sysdate,date'2001-01-01') fromdual;
MONTHS_BETWEEN(SYSDATE,DATE'2001-01-01')
----------------------------------------
34.4035409
SQL>
9、next_day()给定一个日期值,返回由第二个参数指出的日子第一次出现在的日期值(应返回相应日子的名称字符串)
oracle日期函数
关键词: oracle日期函数
Oracle在日期使用上允许极大的灵活性。由于可以在日期字段存储时间和日期,从而有函数可以既引用日期又引用时间。
Oracle 所提供的一些日期函数如下所示。
1. SYSDATE
返回当前的日期和时间。
示例
SELECT sysdate FROM dual;
SYSDATE
----------
05-3月 -03
2. ADD_MONTHS(d, no_of_month)
当前日期"m"后推"no_of_month"个月。参数"no_of_month"可为任何整数。
示例
SELECT add_months(sysdate,2) FROM dual;
ADD_MONTHS
----------
05-5月 -03
SELECT add_months(sysdate,-2) FROM dual;
ADD_MONTHS
----------
05-1月 -03
3. LAST_DAY(month_day)
返回变量"month_day"中所指定月份的最后一天的日期。
示例
SELECT last_day(sysdate) FROM dual;
LAST_DAY(S
----------
31-3月 -03
4. MONTHS_BETWEEN(d1, d2)
返回日期 d1 和 d2 之间的月份数。如果 d1 晚于d2,结果为正,否则返回负数。
示例
SELECT months_between(sysdate,to_date('20030101','YYYYMMDD')) FROMdual;
MONTHS_BETWEEN(SYSDATE,TO_DATE('20030101','YYYYMMDD'))
------------------------------------------------------
2.15773932
5. NEXT_DAY(d, day_of_week)
返回由"day_of_week"命名的,在变量"d"指定的日期之后的第一个工作日的日期。参数"day_of_week"必须为该星期中的某一天。
示例
-- 2003.3.2 是星期日
SELECT next_day(to_date('20030226','YYYYMMDD'),1) FROM dual;
NEXT_DAY(T
----------
02-3月 -03
日期格式
格式元素说明
AD 或A.D.带有或不带有句号的 AD 标记
BC 或B.C.带有或不带有句号的 BC 标记
D一周中的天 (1-7)
DAY天的名称 (Sunday - Saturday)
DD一月中的天 (1 - 31)
DDD一年中的天 (1 - 366)
DY天的缩写 (Sun - Sat)
HH一天中的小时 (1 - 12)
HH24一天中的小时 (0 - 23)
MI分钟 (0-59)
MM月 (01-12)
MON月名称的缩写
MONTH月的名称
SS秒 (0-59)
YYYY4 个数字表示的年
发表评论
-
PostgreSQL学习手册(常用数据类型)
2013-06-03 16:45 12879一、数值类型: 下面是PostgreSQL所支持的数值 ... -
pb串口编程
2013-03-21 16:08 2903powerbuilder串口编程的实 ... -
sqlite源码剖析(18)
2010-11-19 16:57 4004声明:本SQLite源码剖析 ... -
SQLITE源码剖析(17)
2010-11-07 12:11 2270声明:本SQLite源码剖析系列为刘兴(http://deep ... -
SQLITE源码剖析(16)
2010-10-11 15:38 4398声明:本SQLite源码剖析系列为刘兴(http://deep ... -
Oracle Database 10g
2010-08-31 09:25 2209Oracle Database 10g Release 2 ... -
SQLITE源码剖析(15)
2010-08-30 11:20 1897声明:本SQLite源码剖析系列为刘兴(http://dee ... -
SQLITE源码剖析(14)
2010-08-26 07:59 2225声明:本SQLite源码剖析系列为刘兴(http://dee ... -
SQLITE源码剖析(13)
2010-08-26 07:59 2886声明:本SQLite源码剖析系列为刘兴(http://dee ... -
SQLITE源码剖析(12)
2010-08-24 22:23 6687声明:本SQLite源码剖析系列为刘兴(http://d ... -
SQLITE源码剖析(11)
2010-08-24 22:10 4293声明:本SQLite源码剖析系列为刘兴(http://deep ... -
SQLITE源码剖析(10)
2010-08-24 22:02 3364声明:本SQLite源码剖析系列为刘兴(http://deep ... -
SQLITE源码剖析(9)
2010-08-24 11:00 4386/*声明:本SQLite源码剖析系列为刘兴(http:// ... -
SQLITE源码剖析(8)
2010-08-22 11:04 5090声明:本SQLite源码剖析系列为刘兴(http://deep ... -
SQLITE源码剖析(7)
2010-08-21 18:42 3980声明:本SQLite源码剖析 ... -
SQLite源码剖析(6)
2010-07-29 18:09 3939/* ** Add the ability to overr ... -
SQLITE源码剖析(5)
2010-07-28 17:57 4263声明:本SQLite源码剖析系列为刘兴(http://deep ... -
SQLITE源码剖析(4)
2010-07-23 10:27 5532声明:本SQLite源码剖析系列为刘兴(http://deep ... -
SQLITE源码剖析(3)
2010-07-22 17:55 8339声明:本SQLite源码剖析系列为刘兴(http://dee ... -
sqlite源码剖析(2)
2010-07-22 11:03 10843声明:本SQLite源码剖析系列为刘兴(http://deep ...
相关推荐
"Oracle 日期函数详解" Oracle 日期函数是数据库管理系统中经常使用到的函数,用于处理日期和时间相关的操作。下面是 Oracle 日期函数的详细介绍: 1. 日期和字符转换函数 Oracle 提供了两个重要的日期和字符转换...
ORACLE 日期时间函数大全是一个功能强大且实用的函数集,提供了多种日期和时间处理函数,可以满足不同应用场景下的日期和时间处理需求。下面是 ORACLE 日期时间函数大全的详细介绍: 一、日期和时间格式 ORACLE ...
以下是对给定文件中提及的Oracle日期处理函数的详细说明: 1. **add_months(d, n)**: 此函数将日期d加上n个月,返回新的日期。例如,`add_months(SYSDATE,1)`会返回当前日期往后一个月的日期。 2. **last_day(d)**...
综上所述,Oracle分析函数为开发者提供了强大的数据分析能力,它们在处理大数据集时,尤其在需要保持数据原有顺序或分组进行聚合计算的情况下,表现尤为出色。通过熟练掌握这些函数,可以大大提高SQL查询的灵活性和...
Oracle内置函数是其强大功能的关键组成部分,这些函数极大地丰富了SQL语言的表达能力,使得数据处理和查询更为便捷高效。以下是对Oracle内置函数的详细概述: 1. **数学函数**: - `ABS(x)`:返回x的绝对值。 - `...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其丰富的函数和方法库为SQL查询提供了强大的支持。在日常的数据操作和分析中,掌握一些常用的Oracle函数和方法是至关重要的。以下是对"Oracle最常用的...
### Oracle SQL 函数集详解 #### 一、概述 Oracle SQL 函数是数据库查询语言中的重要组成部分,用于处理数据并返回结果。这些函数可以按类别分为字符串处理函数、数值处理函数、日期处理函数等。本文将详细介绍...
总的来说,Oracle的函数集强大而全面,能够满足各种数据处理需求。熟练掌握这些函数的使用,对于开发人员来说是提高工作效率的关键。在日常的数据库管理和维护中,理解并灵活运用这些函数,不仅能优化查询性能,还能...
数据窗口定义了函数作用的行集范围,可以基于排序、分组或者特定的行数或范围来定义。例如: 1. `OVER (ORDER BY salary)`:按照薪资进行排序并进行累计。 2. `OVER (PARTITION BY deptno)`:按照部门进行分区,对...
日期函数在处理时间序列数据时非常关键,如`SYSDATE`获取当前系统日期,`ADD_MONTHS`增加或减少月份,`EXTRACT`提取日期部分,`TO_DATE`和`TO_CHAR`进行日期与字符串之间的转换,还有`NEXT_DAY`找到下一个特定星期的...
接下来,**日期函数**对于处理时间数据至关重要。`SYSDATE`返回当前系统日期和时间,`ADD_MONTHS`可以增加或减少指定月份,`EXTRACT`用于提取日期或时间的特定部分(如年、月、日、小时等),而`TO_DATE`和`TO_CHAR`...
Oracle数据库是世界上最广泛使用的数据库系统之一,其强大的功能和丰富的内置函数是其核心优势之一。本文将基于"Oracle常用函数 CHM"这个资源,详细解析一些Oracle数据库中常见的函数及其应用,帮助你更好地理解和...
Oracle分析函数是数据库管理系统Oracle中的一种高级SQL特性,它允许用户在单个查询中对一组行进行计算,而无需使用子查询或自连接。这些函数极大地增强了数据分析和报告的能力,提高了查询性能。以下是对Oracle分析...
Oracle数据库系统内置了大量函数,这些函数可以分为多个类别,例如字符函数、数字函数、日期函数、转换函数、分组函数以及其他辅助函数等。以下是对每个类别中一些常用函数的详细介绍: 字符函数 1. ASCII函数:...
根据提供的Oracle相关知识点,我们可以详细地探讨一下这些重要的Oracle函数及其用法,这对于数据库管理和查询都是非常有帮助的。 ### 1. CASE 表达式 CASE 表达式是一种非常有用的工具,它允许我们在SQL查询中进行...
单行函数主要包括日期函数、字符函数、数字函数、转换函数以及其他一些特定用途的函数。 ##### 2.1 字符函数 字符函数用于对字符串进行各种操作,如大小写转换、截取、替换等。以下是一些常用的字符函数及其示例:...
综上所述,Oracle数据库中的实用函数覆盖了日期时间处理、字符串操作、数据类型转换和数学运算等多个方面,为开发者提供了强大的工具箱,极大地提升了数据处理的效率和灵活性。掌握这些函数的使用方法,对于提升个人...
### Oracle分析函数详解 #### 一、概述 Oracle分析函数是一种强大的工具,它允许用户对分组数据执行复杂的计算,并且能够返回多个结果行。这与传统的聚合函数(如`SUM`、`COUNT`等)形成鲜明对比,后者通常只针对...
Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的函数集,以支持复杂的查询和数据处理。在"Oracle函数大全-详细介绍.rar"这个压缩包中,包含了对Oracle数据库中各种函数的详细解析,包括分析函数、...
Oracle提供了处理日期和时间的大量函数,如SYSDATE获取当前系统日期,ADD_MONTHS用于添加月份,EXTRACT用于提取日期或时间部分,TO_CHAR和TO_DATE用于日期和字符串之间的转换。 2. **数学与数值函数**: 包括ABS...