`
ayaya
  • 浏览: 453868 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

oracle 常用日期计算

阅读更多
sysdate 为数据库服务器的当前系统时间。
to_char 是将日期型转为字符型的函数。
to_date 是将字符型转为日期型的函数,一般使用 yyyy-mm-dd hh24:mi:ss格式,当没有指定时间部分时,则默认时间为 00:00:00

dual 表为sys用户的表,这个表仅有一条记录,可以用于计算一些表达式,如果有好事者用 sys 用户登录系统,然后在 dual 表增加了记录的话,那么系统99.999%不能使用了。为什么使用的时候不用 sys.dual 格式呢,因为 sys 已经为 dual 表建立了所有用户均可使用的别名。


一年的第一天

SELECT to_date(to_char(SYSDATE,'yyyy')||'-01-01','yyyy-mm-dd'                ) FROM dual


季度的第一天

SELECT to_date(to_char(SYSDATE,'yyyy-')||        lpad(floor(to_number(to_char(SYSDATE,'mm'))/3)*3+1,2,'0')||               '-01', 'yyyy-mm-dd')  FROM dual


floor 为向下取整
lpad 为向左使用指定的字符扩充字符串,这个扩充字符串至2位,不足的补'0'。

当天的半夜
SELECT trunc(SYSDATE)+1-1/24/60/60
FROM dual

trunc 是将 sysdate 的时间部分截掉,即时间部分变成 00:00:00
Oracle中日期加减是按照天数进行的,所以 +1-1/24/60/60 使时间部分变成了 23:59:59。
Oracle 8i 中仅支持时间到秒,9i以上则支持到 1/100000000 秒。

上个月的最后一天

SELECT trunc(last_day(add_months(SYSDATE,-1)))+1-1/24/60/60  FROM dual


add_months 是月份加减函数。
last_day 是求该月份的最后一天的函数。

本年的最后一天

SELECT trunc(last_day(to_date(to_char(SYSDATE,'yyyy')||'-12-01','yyyy-mm-dd'))                )+1-1/24/60/60     FROM dual


本月的最后一天

select trunc(last_day(sysdate))+1-1/24/60/60  from dual



本月的第一个星期一

SELECT next_day(       to_date(to_char(SYSDATE,'yyyy-mm')||'-01','yyyy-mm-dd'), '星期一' )      FROM dual

next_day 为计算从指定日期开始的第一个符合要求的日期,这里的'星期一'将根据NLS_DATE_LANGUAGE的设置稍有不同。

去掉时分秒

        select trunc(sysdate)  from dual


显示星期几

        SELECT to_char(SYSDATE,'Day')  FROM dual


取得某个月的天数

SELECT trunc(last_day(SYSDATE))-        to_date(to_char(SYSDATE,'yyyy-mm')||'-01','yyyy-mm-dd')+                    1        FROM dual


判断是否闰年

SELECT decode(               to_char(last_day(to_date(to_char(SYSDATE,'yyyy')||'-02-01','yyyy-mm-dd')),'dd'),                  '28','平年','闰年'                   ) FROM dual


一个季度多少天

SELECT last_day(to_date(to_char(SYSDATE,'yyyy-')||                       lpad(floor(to_number(to_char(SYSDATE,'mm'))/3)*3+3,2,'0')|| '-01','yyyy-mm-dd')) - to_date(to_char(SYSDATE,'yyyy-')||               lpad(floor(to_number(to_char(SYSDATE,'mm'))/3)*3+1,2,'0')||   '-01','yyyy-mm-dd') +1FROM dual


1、add_months()用于从一个日期值增加或减少一些月份
SQL> select add_months(sysdate,12) "Next Year" from dual;
 
2、current_date()返回当前会放时区中的当前日期
SQL> select sessiontimezone,current_date from dual;
   
3、current_timestamp()以timestamp with time zone数据类型返回当前会放时区中的当前日期
 
4、dbtimezone()返回时区
varchar_value:=dbtimezone
SQL> select dbtimezone from dual;
 
5、extract()找出日期或间隔值的字段值
SQL> select extract(month from sysdate) "This Month" from dual;
 
SQL> select extract(year from add_months(sysdate,36)) "3 Years Out" from dual;
   
SQL> 
 
6、last_day()返回包含了日期参数的月份的最后一天的日期
date_value:=last_day(date_value)
SQL> select last_day(date'2000-02-01') "Leap Yr?" from dual;
SQL> select last_day(sysdate) "Last day of this month" from dual;
 
SQL> 
 
7、localtimestamp()返回会话中的日期和时间
timestamp_value:=localtimestamp
SQL> select localtimestamp from dual;
SQL> select localtimestamp,current_timestamp from dual;
 
SQL> select localtimestamp,to_char(sysdate,'DD-MM-YYYY HH:MI:SS AM') "SYSDATE" SQL> 
 
8、months_between()判断两个日期之间的月份数量
number_value:=months_between(date_value,date_value)
SQL> select months_between(sysdate,date'1971-05-18') from dual;
SQL> select months_between(sysdate,date'2001-01-01') from dual;
 
9、next_day()给定一个日期值,返回由第二个参数指出的日子第一次出现在的日期值(应返回相应日子的名称字符串)
分享到:
评论

相关推荐

    ORACLE常用日期函数集合

    ### ORACLE常用日期函数集合详解 #### 一、概述 在Oracle数据库中,日期处理是一项非常重要的功能。本文将详细介绍一些常用的Oracle日期函数及其应用场景,帮助数据库管理员或开发者更好地理解和运用这些函数,以...

    oracle常用日期函数

    以下是对标题和描述中提到的一些常用日期函数的详细解释: 1. **months_between** 函数:这个函数返回两个日期之间的月份数。例如,months_between ('04-11月-05','11-1月-01') 结果是57.7741935,意味着这两个日期...

    Oracle时间日期操作

    Oracle 时间日期操作是 Oracle 数据库中的一种常用的操作类型,它可以对数据库中的日期和时间进行各种处理和计算。以下是 Oracle 时间日期操作的一些常见知识点: 1. 获取当前日期和时间:使用 `sysdate` 函数可以...

    oracle常用函数功能演示

    本篇文章将详细解析Oracle的一些常用函数,并通过实例演示它们的功能。 首先,Oracle的数值函数包括三角函数、幂和方根运算以及数值处理函数。例如,`SIN`, `COS`, `TAN`用于三角计算,`POWER`用于求幂,`SQRT`用于...

    Oracle常用函数大全

    Oracle常用函数大全是一个非常重要的知识点,涵盖了许多实用的函数,例如日期函数、字符串函数、聚合函数等。这些函数可以帮助开发者更方便地进行数据库操作和数据分析。本文将详细介绍Oracle常用函数大全中的一些...

    在oracle中处理日期大全

    TO_DATE 函数是 Oracle 中最常用的日期处理函数之一,它可以将字符串转换为日期类型。其基本语法为: `TO_DATE(string, format)` 其中,`string` 是要转换的字符串,`format` 是转换的格式。 例如: `SELECT TO_...

    Oracle常用函数和使用方法

    ### Oracle常用函数与使用方法详解 #### 一、Oracle SQL函数概述 在Oracle数据库中,SQL函数被广泛用于处理各种数据类型,包括数值、字符、日期等,它们能够帮助我们更高效地进行数据检索和分析。本文将详细介绍...

    Oracle常用单行函数

    本文主要介绍Oracle中的字符函数、数学函数、日期函数以及转换函数。 首先,让我们详细探讨字符函数。字符函数主要用于处理字符串数据,包括: 1. `lower(char)`:将字符串中的所有字符转换为小写字母。 2. `upper...

    Oracle日期函数练习

    Oracle 日期函数是 Oracle 数据库中的一组功能强大且广泛使用的函数,它们可以对日期进行各种操作和计算,本次练习涵盖了 Oracle 中常用的日期函数,包括获取当前系统时间、对日期的月进行加减、获取给定日期所在月...

    oracle常用函数和类型

    BINARY_INTEGER是Oracle中用于整数计算优化的类型,而DEC、DOUBLE PRECISION、INTEGER、INT、NUMERIC和REAL都是NUMBER类型的子类型,其中DOUBLE PRECISION提供了更高的精度,而REAL和NUMERIC等同于NUMBER。...

    Oracle中的日期处理总结

    Oracle支持丰富的日期格式说明符,以下是一些常用的格式说明符: - **`DD`**:表示日期中的天数(01到31)。 - **`MONTH`**:表示日期中的月份(01到12)。 - **`MON`**:表示月份的英文缩写(如JAN、FEB等)。 - *...

    Oracle常用函数实战总结.xlsx、Oracle 11g数据库管理员指南.pdf、Oracle开发实战经典.pdf

    Oracle常用函数实战总结.xlsx: 1.内容:总结了Oracle数据库中常用的函数及其实战应用。这些函数可能包括字符串处理函数、数值计算函数、日期和时间函数、转换函数等。 2.用途:对于Oracle数据库的使用者来说,这...

    Oracle常用函数.pdf

    ### Oracle常用函数详解 #### 一、概述 Oracle 数据库提供了丰富的内置函数,极大地提高了 SQL 语句在处理数据时的灵活性与效率。这些函数主要分为两大类:单行函数和多行函数(也称为聚合函数)。单行函数通常...

    oracle各种日期函数

    除了以上介绍的功能外,Oracle还提供了许多其他的日期函数,比如用于计算两个日期之间间隔的 `MONTHS_BETWEEN` 函数,以及用于增加或减少指定日期单位的 `ADD_MONTHS` 和 `LAST_DAY` 等函数。这些函数在处理复杂的...

    oracle最常用的函数或方法总结

    在日常的数据操作和分析中,掌握一些常用的Oracle函数和方法是至关重要的。以下是对"Oracle最常用的函数或方法总结"的详细阐述: 1. **字符串处理函数** - `CONCAT()`:用于连接两个或多个字符串。 - `SUBSTR()`...

    ORACLE中日期和时间函数汇总

    Oracle 中提供了多种日期和时间函数,以下是一些常用的函数: * SYSDATE:返回当前日期和时间。 * CURRENT_DATE:返回当前日期。 * CURRENT_TIMESTAMP:返回当前日期和时间。 * ADD_MONTHS:将月份添加到日期中。 ...

    Oracle函数及常用sql

    二、Oracle常用SQL查询 1. **选择查询(SELECT)**: - 基本查询:`SELECT column1, column2 FROM table;` - 条件查询:`WHERE`子句,如`WHERE column = value`。 - 排序查询:`ORDER BY`子句,如`ORDER BY ...

    oracle 的常用函数

    这些函数涵盖了字符串操作、数值计算、日期处理等多个方面,极大地提高了SQL查询的灵活性和效率。然而,由于函数种类繁多,且每种函数的具体用法都有所不同,因此在实际工作中容易被遗忘。接下来,本文将详细介绍...

    oracle常用函数介绍

    在本篇文章中,我们将深入探讨Oracle中的常用函数,这些函数对于日常的SQL查询、数据处理以及数据库管理至关重要。 一、数值函数 1. `ABS()`: 计算并返回一个数的绝对值。例如,`ABS(-5)` 返回 5。 2. `MOD()`: ...

Global site tag (gtag.js) - Google Analytics